Показать сообщение отдельно
  #1  
Старый 21.07.2012, 00:07
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
Восклицание Ребят, тут такое дело...

Короче говоря мне нужно сделать так, чтоб призапуске процесса samp.exe, моя прога находила папку где находится этот файл(Папку с gta sa mp) и если есть в этой папке файл mod_sa.ini то закрывало процесс samp.exe, а если его нет - ничего не делала.
Знакомый написал, что нужно написать вот такую функцию
Код:
	
Alexandr
function GetProcessFilePath(FName: string): string;
var
hProcess, hModule: integer;
PE32: PROCESSENTRY32;
PM: MODULEENTRY32;
begin
hProcess:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
PE32.dwSize:=SizeOf(PROCESSENTRY32);
repeat
begin
hModule:=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PE32.th32ProcessID);
PM.dwSize:=(SizeOf(MODULEENTRY32));
repeat
if PM.szModule=FName then 
begin 
Result:=PM.szExePath;
CloseHandle(hModule); 
end; 
until not (Module32Next(hModule, PM)); 
end;
until not (Process32Next(hProcess, PE32)); 
CloseHandle(hProcess);
end;
20:18:36	
s:=GetProcessFilePath('samp.exe');
l:= Copy(s, 1, Length(s)-8);
где gta_sa.exe смени на самп
L:string
S тоже
вот тебе и папка gta в переменной L
Но при компиляции выдаёт ошибку. Сломал всю голову с этой шляпой. Вот решил обратиться к вам
Ответить с цитированием