Vinduet kroge og applikationer

Indlæg af Hanne Mølgaard Plasc

Problem



I forbindelse med mit spørgsmål her er det muligt at oprette et vindueskrog, der vil overvåge, om et program er åbnet eller ej?


Det meste, jeg har fundet om kroge, synes at fokusere på brugerindgang (tastaturpresse, mushændelser), men jeg kunne ikke bekræfte, om det er muligt at vide, at 'dobbeltklik' brugeren lavede er at åbne et program eller bare for at fremhæv et ord.


Tak skal du have.

Bedste reference


Faktisk ville vinduekroge ikke være tilstrækkelige. Faktisk for den opgave, du spørger om, kan du bruge forskellige strategier, såsom:



  1. opregner processerne for at finde den, du søger efter (Tool Help API eller PSAPI)

  2. opregner de øverste vinduer på skrivebordet (men du er begrænset til dit skrivebord)

  3. Kontroller for en global eller lokal begivenhed, mutex (eller et andet kerneobjekt) at afgøre, at noget forekomst af applikationen kører

  4. ... eller endda fra kernel PsSetCreateProcessNotifyRoutine



sandsynligvis er der variationer på ovenstående plus nogle flere.


I det væsentlige er spørgsmålet om, hvorvidt du vil kontrollere processen eller for en anden indikator, der angiver, om det program du vil kontrollere, er startet.