Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

path in 9x   Найти похожие ветки 

 
rimd ©   (2004-04-07 14:12) [0]

написал наконец-то ф-ию которая выдергивает путь, зная только окно. проблемма в том что это дело работает только на w2k, а как в остальных? имеется в виду 98/me

function GetAppFilePath(WndHWND:Cardinal):string;
var
 HProc,PID,HSnap:Cardinal;
 pe32:tagPROCESSENTRY32;
 ModName:array[0..MAX_PATH] of Char;
begin
if not IsWindow(WndHWND) then
begin
 Result:="";
 Exit;
end;
HProc:=GetWindowThreadProcessId(Form1.Handle,PID);
if HProc=0 then
begin
 Result:="";
 Exit;
end;
HSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,PID);
if HSnap=1 then
begin
 Result:="";
 Exit;
end;
if not Process32First(HSnap,pe32) then
begin
 Result:="";
 Exit;
end;
if GetModuleFileName(pe32.th32ModuleID,ModName,MAX_PATH)=0 then
begin
 Result:="";
 Exit;
end;
Result:=String(ModName);

end;


 
BiN ©   (2004-04-07 14:46) [1]

и что? работает?!!!

вот держи для 9х


function GetWindowExeName(WindowHandle:HWND):string;
var
 ProcessEntry: TProcessEntry32;
 ProcessId: DWORD;
 hSnap: THandle;
begin
 Result:="";
 if GetWindowThreadProcessId(WindowHandle, @ProcessId)=0 then exit;
 ProcessEntry.dwSize:=sizeof(TProcessEntry32);
 hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 if hSnap=INVALID_HANDLE_VALUE then exit;
 if Process32First(hSnap,ProcessEntry) and (ProcessId=ProcessEntry.th32ProcessID) then
 begin
   Result:=ProcessEntry.szExeFile;
   CloseHandle(hSnap);
   exit;
 end;
 while (Process32Next(hSnap, ProcessEntry))
 and (ProcessId<>ProcessEntry.th32ProcessID) do;
 if ProcessId=ProcessEntry.th32ProcessID
 then Result:=ProcessEntry.szExeFile;
 CloseHandle(hSnap);
end;


 
Рамиль ©   (2004-04-07 14:49) [2]


> rimd ©   (07.04.04 14:12)  

Тебе срочно в эту ветку
http://delphimaster.net/view/15-1081319370/



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1084047903
nkoleda
2004-05-09 00:25
2004.05.23
Excel и примечание


7-1082177206
DC
2004-04-17 08:46
2004.05.23
Как зарегистрироваться другие языки на Delphi?


1-1083822965
Sun bittern
2004-05-06 09:56
2004.05.23
Сообщение на создание/удоление объектов типа TComponent и страше


1-1083745038
xroad
2004-05-05 12:17
2004.05.23
Need help: Excel &amp; Delphi


6-1080761966
dreams
2004-03-31 23:39
2004.05.23
Отследить загрузку файла в WebBrouser