maddin Geschrieben 28. Februar 2002 Geschrieben 28. Februar 2002 ich habe ein kleines problem, welches mich an der fertigstellung eines programmes hindert und habe gehofft ihr könntet mir vielleicht helfen. der progammablauf ist in etwa folgender. 1.) vergleiche CmdLine 2.) wenn CmdLine == "--zeitpl" dann führe Funktion 1 aus. Diese läuft durch bis sich ein bestimmter Wert in der Registry ändert woraufhin dann auch das programm endet. 3.) wenn CmdLine != "--zeitpl" zeige ein Icon in der Notification Area (Shell_NotifyIcon( ... )). 4.) warte bis diese Icon angeklickt wurde 5.) wenn Icon angeklickt wurde öffne ein Menü 6.) warte auf die Auswahl eines Menüpunktes. 7.) Bei Menüpunkt X öffne ein Dialog (DialogBox(...)) so in etwa soll der kram ablaufen. ich hoffe es ist verständlich. sollte ich diese programm nun ohne parameter starten, läft alles einwandfrei. das selbe passiert wenn ich es mit dem parameter starte. die probleme tauchen auf, wenn ich das programm 2. laufen habe. einmal mit und einmal ohne parameter. dann nämlich öffnet sich der Dialog nicht einwandfrei. Ich kann dann den Menüpunkt auswählen, muss dann aber noch einmal auf das Icon klicken, damit ich den Dialog sehen. nun die alles entscheidende Frage: Warum ist das so und wie kann ich das beheben ? ps: vielleicht noch ein paar wissenwerte angaben. die IDE ist Visual Studio 6.0gearbeitet wird mit der Windows SDK. kein MFC Zitieren
Klotzkopp Geschrieben 28. Februar 2002 Geschrieben 28. Februar 2002 Hmm... Hast Du mal mit dem Spy geprüft, ob die Messages anders laufen, wenn das Programm zweimal läuft? Als Notlösung würde ich vorschlagen, das mehrmalige Starten des Programms zu unterbinden (z.B. mit einem benannten Mutex), und statt dessen die angeforderte Funktionalität durch das schon gestartete Programm in einem neuen Thread ausführen. Zitieren
Olli_Master Geschrieben 8. März 2002 Geschrieben 8. März 2002 Was hältst du davon? 1. Programm normal starten 2. Programm innerhalb der IDE starten (schrittweise ausführen) -- so kannst du relativ einfach prüfen, was beim 2. Programmstart nicht funktioniert. :cool: Ich hoffe, ich das hilft dir. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.