В общем хочу сделать прикол для жены)))Суть заключается в том,если программа запущена то вылетает сообщение...Ребята помогли с кодом НО программа работает не так как хотелось бы.Если я ключаю игру и компилирую вылетает 100000 сообщений.Если игра не влючена то вообще ничего не вылетает.Хотелось бы сделать так чтобы программа "ждала" допустим .Открыл программу ее не видно нигде.Жена открыла игру вылетело сообщение,закрыла,опять открыла опять вылетело сообщение...ПОМОГИТЕ!!!
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, tlhelp32, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function processExists(exeFileName: string): Boolean;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
Result := False;
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
begin
Result := True;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm := False;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if processExists('game.exe') then
ShowMessage('Процесс запущен');
end;
end.