dephi 如何判断软件是否关闭
我想在本软件(就是dephi实现的)关闭后
系统通过判断软件已经关闭了
然后删除某张表中的内容
不知道代码怎么实现
麻烦大哥大姐们指导下
谢啦
定给分
在线等
[解决办法]
不用findwindow也可以用下面代码实现
procedure TForm1.Button1Click(Sender: TObject);
var
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
Ret: BOOL;
ProcessID: integer;
s: string;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
Ret := Process32First(FSnapshotHandle, FProcessEntry32);
while Ret do
begin
s := UpperCase(ExtractFileName(FProcessEntry32.szExeFile));
if (s = '你的文件名.EXE') then
begin
//这是终止程序执行,当然可以修改成删除你的表
ProcessID := FProcessEntry32.th32ProcessID;
TerminateProcess(OpenProcess(PROCESS_TERMINATE, false, ProcessID), 1);
s := '';
end;
Ret := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
end;
[解决办法]
var
HWndCalc: HWnd;
begin
HWndCalc := FindWindow(nil, '程序的标题caption');
if HWndCalc = 0 then
//删除表;
end;
[解决办法]
CreateEvent
程序每次开的时候都检查一次