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

Вниз

Как определить, запущен ли определенный файл?   Найти похожие ветки 

 
smok_er   (2002-10-27 12:43) [0]

Уважаемые знатоки! Вопрос конечно уже сто раз обсуждался, но нужен срочный ответ, а времени рыться в факах нет :(
Как получить список всех запущенных приложений? Конкретнее, надо узнать, запущен ли файл, к примеру C:\Program Files\1\1.exe или нет.

Заранее огромное спасибо!


 
Cobalt ©   (2002-10-27 13:24) [1]

Если конкретного файла, то можно просто попробовать открыть его на запись. Если не получиться - значит запущен.
Сами подумайте - кто же будет читать из ехе-ка просто так?


 
LENIN INC   (2002-10-27 13:28) [2]

Можно проверить используется ли файл в данный момент:

Function ApplicationUse(fName : string ) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then CloseHandle(HFileRes);
end;

//пример использования функции:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ApplicationUse("c:\project1.exe") then
ShowMessage("Application in use")
else
ShowMessage("Application not in use");
end;



 
smok_er   (2002-10-28 23:11) [3]

Огромное спасибо!
Все замечательно работает!



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-14926
dimis
2002-12-09 16:17
2003.01.06
Наследник DBGrid


1-15118
^Sanya
2002-12-21 16:30
2003.01.06
Помогите, просто необходимо...


1-15038
trotski
2002-12-24 06:37
2003.01.06
Самые быстрые парни


14-15316
Aga
2002-12-17 12:30
2003.01.06
NTFS в DOS


14-15220
Calm
2002-12-15 16:27
2003.01.06
Трассировка. Как выполнить прогу до конца метода?