[delphi] Jak zdobyć uchwyt onka ...

0

Jak zdobyć uchwyt okna znając uchwyt pliku ?

Chcę zrobić prosty program do ukrywania programów.

Mam coś takiego :

function Task:TStringList;
var
Uchwyt : tHandle;
Proces : tProcessEntry32;
begin
Uchwyt:=CreateToolHelp32SnapShot(TH32CS_SNAPALL,0);
Proces.dwSize:=SizeOf(Proces);
if Integer(Process32First(Uchwyt,Proces))<>0 then
repeat
if Proces.szExeFile='winamp.exe' then ShowWindow (Proces.th32ProcessID,SW_HIDE); // ???
until Integer(Process32Next(Uchwyt,Proces))=0;
closehandle(Uchwyt);
end;

chcę użyć : ShowWindow(Handle,SW_HIDE);

tylko że Proces.th32ProcessID to uchwyt procesu a potrzebny jest uchwyt okna...

Jak to zrobić ?

0

Nie wiem czy chodzi Ci o to, ale uchwyt okna możesz znaleźć używająć metody FindWidow:
HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);

Jeżeli znasz nazwę klasy to wypełniasz pierwszy parametr a drugi dajesz nil np:
hwnd_winamp := FindWindow('Winamp v1.x',nil);

Jeżeli nie znasz nazwy klasy okna to możesz w drugim parametrze podać tytuł okna, a pierwszy parametr ustawić na nil.
Pozdrawiam

0

Też miałem podobny problem, z tym, że chciałem zamykać okna z GetForegroundWindow... (tam masa kombinowania... pętelek...) i tak dla próby otworzyłem sobie 'C:' z Mojego Kompa... klikam HotKey'a i explorer.exe się wyłączył :p

wykombinowałem tylko z EnumWindows

http://delphi.cartall.com.pl/Pytania/no-frames.html#b23

0

O to własnie mi chodziło hyperhex , pokombinuje właśnie z tą funkcją
Dzięki wszystkim :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1