Frage

Ich versuche eine Windows -App zu erstellen, die einige Dinge im Hintergrund überprüft und den Benutzer über ein SyStray -Symbol informiert.

Die App wird mit nicht verwaltetem C ++ hergestellt und es gibt keine Möglichkeit, zu .NET oder Java zu wechseln.

Wenn der Benutzer die App stoppen möchte, wird er das Tablettsymbol verwenden.

Die App kann aufgrund der Systray -Seite kein Dienst sein und weil sie ausgeführt werden muss, ohne etwas auf dem Benutzercomputer zu installieren (es ist ein einzelner .exe)

Mit der typischen Win32 -Programmstruktur (RegisterClass, WndProc usw.) weiß ich nicht, wie ich einen Code platzieren kann, um die Fenstermeldungsschleife auseinanderzuführen. Vielleicht muss ich CreateRcoess () oder CreateThead () verwenden? Ist es die richtige Art, die Multithreading -Umgebung zu bewältigen?

Wenn ich CreateRcoess ()/CreateThead () verwenden muss, wie kann ich dann zwischen den beiden Threads komunizieren?

Vielen Dank ;)

War es hilfreich?

Lösung

Für das System -Tray -Symbol benötigen Sie Shell_notifyicon.

Sehen http://msdn.microsoft.com/en-us/library/bb762159.aspx

Andere Tipps

Ich bezweifle, dass Sie dazu neue Prozesse erstellen möchten. Sie möchten einen Thread in Ihrer Anwendung erstellen. Die API dafür ist Erstelle einen Thread. Wenn Sie jedoch C ++ verwenden, sollten Sie wirklich die Verwendung von Frameworks und Klassenbibliotheken untersuchen, um dies nicht zu schreiben, was effektiv C -Code von Grund auf neu ist.

Alle Themen, die zu einer Anwendung gehören, teilen die globalen Variablen der Anwendung, die daher für die Kommunikation verwendet werden können. Sie müssen einen solchen Multi-Thread-Zugang mit so etwas wie einem kritischen Abschnitt schützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top