Chowanie programu ukrytego w trayu

0

no wiec tak potrzebuje schowac pewien program :P chodzi o emule gdyz moja siora gdy wlazi na kompa i cos robi bierze i mi wylacza mulka :-8 wiec zrobilem to tak:

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
PHandle, FHandle: THandle;
Process:TProcessEntry32;
Done, Next: Boolean;
EXE : String; 
begin
EXE := 'emule.exe';
FHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
Process.dwSize := Sizeof(Process);
Next := Process32First(FHandle,Process);
while Next do
begin
if AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(EXE) then
begin
PHandle:=OpenProcess(PROCESS_ALL_ACCESS, false,
Process.th32ProcessID);
ShowWindow(pHandle, SW_HIDE);
form1.log.items.Add('-eMule ukryte...');
end;
Next := Process32Next(FHandle,Process);
end;
CloseHandle(FHandle);
end;

ale nie dziala :/ moze ktos pomoze :>>>>> plzzz

0

Podawaj uchwyt okna, a nie procesu. [glowa]

0

ale chodzi o to ze nazwa okna sie zmienia bo na niej napisany jest aktualny download i sie nie da :/ wiec trzeba proces....

0

Nazwa klasy czy tytuł?
Poszukaj w internecie a znajdziesz :>.

0

nie moge podac captiona.... jezu jak nie wiesz to nie pisz..... hyh :D

0
* To sprawdz czy nazwa klasy jest stała, kto nie wie to nie wie...
0

Chodzi o to za OpenProcess zwraca ci uchwyt ale nie uchwyt okna emula ale uchwyt procesu, dlatego wywolanie ShowMessage zle sie wykona badz w ogole sie nie wykona bo funkcja ta wlasnie potrzebuje uchwytu okna emula - a tego nie masz. Sposob na znalezienie tego uchwytu to np. wylistowanie wszystkich glownych okien odpalonych programow EnumWindows i dla kazdego sprawdzanie czy nie ma w tytule okna slowa emule jesli ma to ShowWindow i dla niego konczymy listowanie i okna nie ma. Ofcoz emule.exe nadal bedzie w C+A+D ;)
a jesli jest zminimalizowany to w trayu i takie dzialanie nic nie pomoze .

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