Cóż jeden z wielu problemów poruszanych ale nie rozwiązanych.
Odgrzewam kotleta ale... może coś da się jeszcze z tym zrobić ;-)
Ogólnie wątek wyłącznie dla odważnych...
Postawiłem sobie szczytny cel blokowania programów znając ich ścieżkę.
Nie jest to proste.
Przeszukując bezkresne zasoby internetu znalazłem wyłącznie szczątkowe informacje których nie da się ze sobą połączyć tworząc coś użytecznego.
Widziałem wypowiedzi na zastosowanie SuspendThread.
Ale o ile demonstrowały one zatrzymanie wątku przez nas tworzonego ewentualnie już przez nas podczepionego.
Nigdzie nie znalazłem informacji jak wykryć że jest uruchamiany jakiś program i jak temu przeciwdziałać.
Co prawda mogę co np. sekundę sprawdzać czy jest aktywny jakiś tam program i go zamykać bądź cały czas dokonywać tej próby nawet jeśli takowa aplikacja nie jest aktywna.
Ale to rozwiązanie zżera zbyt dużo zasobów pc i nie działa idealnie program może wykonać swój kod bądź nie efektywnie zamigotać czego przecież nie chcemy.
W ostatnim czasie spotkałem się z komponentem JvShellHook który jest dostępny wraz z pakietem Jedi.
Komponent w swojej demonstracji ukazał że jest w stanie wykryć tworzenie formy, zamigotanie na ekranie i nie tylko ;-)
Cóż i właśnie co do tego komponentu chciałbym uzyskać nieco informacji.
Mianowicie czy mogę z takich szczątkowych informacji pobrać wystarczające kontrolki do zablokowania procesu np SuspendThread?
Dodam że jego zdarzenie przybiera postać TMessage
TMessage = packed record
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;
Cóż za wszelkie sugestie będę wielce wdzięczny tym bardziej że z tym problemem borykam się od dawna.
He he tylko kto nie będzie na tyle pomocny by się zagłębić w tego posta :P
Pozdrawiam ;-)