Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Два вопроса... :)


Leviathan ©   (2001-11-26 17:17:00) 

Мастера! Есть два важных вопроса, если кто подскажет, буду благодарен.
1) Как сделать мою программу автозапускаемой?
2) Предположим, что я точно знаю, что была запущена программа hl.exe. Как мне отследить из своей программы, когда она закончит работу?


Olgerd   (2001-11-26 20:20:00) [1]

На вопрос 2)
Как узнать, что запущен такой-то exe-файл. Если он закончит работать, то функция возвратит false, можно по таймеру проверять.

uses TlHelp32;
function IsRunning(ExeName:String):Boolean;
var
PHandle: THandle;
ProcEntry:TProcessEntry32;
begin
result:=false;
PHandle:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
ProcEntry.dwSize:=sizeof(TProcessEntry32);
if Process32First(PHandle,ProcEntry) then
if ExtractFileName(ProcEntry.szExeFile) = ExeName then result := true;;
while Process32Next(PHandle,ProcEntry) do
if ExtractFileName(ProcEntry.szExeFile) = ExeName then result := true;
CloseHandle(PHandle);
end;

Чувствительна к регистру!


andey   (2001-11-26 19:25:00) [2]

На вопрос 1)
Пропиши в автозагрузку.
а можно так:

procedure RunOnStartup(sProgTitle, sCmdLine : string; bRunOnce : boolean );
var
sKey : string;
reg : TRegIniFile;
begin
if( bRunOnce )then //sKey := "Once"
begin
sKey := "";
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.DeleteValue(
"Software\Microsoft"
+ "\Windows\CurrentVersion\Run"
+ sKey + #0);
reg.CloseKey;
reg.Free
end
else
begin
sKey := "";
reg := TRegIniFile.Create( "" );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString(
"Software\Microsoft"
+ "\Windows\CurrentVersion\Run"
+ sKey + #0,
sProgTitle,
sCmdLine );
reg.CloseKey;
reg.Free;
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо