uchwyt

0

Witam !!!
Jak zamienić nazwe pliku (np: Notepad.exe) na uchwyt okna ???

0

Musisz go odpalic i sprawdzic, a jesli jest odpalony to enumwindow (bylo na forum)

0

ale programowo !

0

Interesujące, od kiedy to EnumWindow() można odpalić ręcznie...? :)

// Dopisane
No to użyj FindWindow().... Argumentów funkcji szukaj w Win SDK.

0

Chodzi mi o to żebnym mógł w programie z nazwy pliku podanej przez użytkownika mógł uzyskać uchwyt okna, bo nie moge tego <ort>znaleŹć </ort>na forum, PLEASE !!!

A c ja mam podać temu enumwindows ? jakiś wskaźnik i jakiś integer? co to jest? Miałem nadzieje na jakąś funkcje w stylu:
uchwyt(nazwa:string):HWND;

Ma ktoś jakis pomysł ?

0

EnumWindows listuje wszystkie onka w systemie, jego uzycie znajdziesz kilka tematow wczesniej. Listujesz sobie okienka i sprawdzasz nazwe pliku kazdego z nich (to tez jest na forum) no i gotowe. I oczywiscie zeby to zrobic to ten twoj przykladowy notatnik musi byc uruchomiony.

0

Znalazłem jakąś ciekawą funkcje w gotowcach:
Zamyka aktywny proces o podanej nazwie pliku

var
PHandle, FHandle: THandle;
Process:TProcessEntry32;
Done, Next: Boolean;
EXE : String; // ścieżka programu
begin
EXE := 'prog.exe';
FHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
Process.dwSize := Sizeof(Process);
Next := Process32First(FHandle,Process);
while Next do
begin{ jesli sciezka dostepu sie zgadza }
if AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(EXE) then
begin
PHandle:=OpenProcess(PROCESS_TERMINATE, False,
Process.th32ProcessID);
{ to probujemy zabic aplikacje }
Done := TerminateProcess(PHandle,0);
if not Done then
MessageBox(Handle, 'Błąd', 'Błąd', MB_OK);
end;
Next := Process32Next(FHandle,Process);
end;
CloseHandle(FHandle);
end;

Ale jak z niej zrobić funkcje która zamienia ścieżkę na hwnd to ja nie wiem :D [wstyd] [wstyd] [wstyd]

0

Dzięki wolverine za pomoc ale nadal nie wiem co ja mam z tym enumwindows zrobić. Z tego co widziałem musze podać jakiś wskaźnij i liczbe. A tak w zasadzie to nie jest funkcja tylko procedura. Nie jestem jeszcze tak zaawansowany by sobie poradzić :D sama nazwa funkcji APi nic mi nie daje bo nie mam skąd wziąć do niej opisu! w helpie go nie ma :-(

0

EnumWindow() to jest funkcja, tylko zwraca void, czyli nic :). A po rozwiązanie problemu mógłbyś cofnąć się do mojego poprzedniego postu i przeczytać dopisek.

0

Findwindow poda mi uchwyt jeżeli podam jako parametr np 'notepad' a nie 'notepad.exe' a to juzduża róznica, bo jak się ne myle to 'notepad' to jets nazwa aplikacji ta którą się wpisuje w delphi wpisuje w opcjach aplikacji w title, a 'notepad.exe' to ścieżka. Nie zawsze jest tak że np gdy mam gadu-gadu otwarte i bym chciał przed findwindow uzyskać uchwyt to gdy wpisze 'gg.exe' to nic mi z tego nie wyjdzie, a skąd mam <ort>wziąśc </ort>to co ja mam tam wpisać? gadu-gadu też nie działa, ani gg :D

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