Ohne Schleife auf Prozessstart warten und bei Start reagieren
-
Wie lässt sich das auf WinAPI realisieren? Ziel ist es vor allem, dabei CPU-Ressourcen zu schonen.
So soll es z.B. aussehen:
User startet firefox.exe -> Programm soll reagieren.
-
Vielleicht lässt sich mit WaitforSingleObject was machen?
Oder ich glaub da musst du einen Hook registrieren mit WH_CBT und dann evtl. auf das Erstellen eines Fensters warten und dann überprüfen ob das das Fenster ist, was du willst...
-
Dafür brauche ich aber eine separate DLL. Gehts auch anders?
-
Naja kannst auch einen Timer erstellen, zB jede Sekunde und dann überprüfen ob firefox gestartet wurde... dass ist dann zwar etwas ungenau, aber ich nehme an, dass man das performant implementieren kann.
-
Hi
#include <windows.h> #include <stdio.h> int main() { do { Sleep(50); } while( ! FindWindow(NULL ,"Google - Mozilla Firefox")); <- Fenster Title muss natürlich inviduel ermittelt werden. printf("Gefunden ...\n"); getchar(); return 0; }lowbyte
-
Hi
Ist zwar mit Schleife, doch mit einem Zyklus von 50 ms wirst du kaum Cpu last spüren. Sozusagen 0.
lowbyte
-
Wenn du Einfluss auf das System des Anwerders hast, kannst du den Aufruf von FireFox mit dem Senden einer Nachricht verbinden (aus einem mitgestarteten eigenen Programm). Dann und nur dann kommst du ohne Schleife aus.
-
Gibt es keine Moeglichkeit das ueber einen Hook zu realisieren?