比如我有A.exe
运行后,PID为123然后我不关程序,直接再运行过A.exe时,就把PID为123的那个A.exe杀掉..
运行后,PID为123然后我不关程序,直接再运行过A.exe时,就把PID为123的那个A.exe杀掉..
解决方案 »
- [提问] Hook(键盘-拦截Down,Up) 和 DLL中函数相互调用
- dbgrideh中合计问题
- 对于全角的'('怎么截取
- 關於WM_KEYDOWN消息
- QQ会员闹新春活动刷礼物外挂
- 菜鸟问题2:(快速结帖)
- 如何在备份数据库文件前关掉SQL SEVERY,备份好以后再把SQL打开(在程序里解决,在线等,解决后就结帖)
- 在网络上的两台机子,如何在其中一台上跟踪另一台机子的鼠标和键盘消息,并在本机上原样回放这些消息呢?
- 一段简单的代码,但是有问题
- 我的机是win98,可以上Internet(透明代理),如何使我局域网内的其它机也能上Internet?
- 为什么提示 Unsatisfied forward or external declaration
- delphi treeview节点图标
那你自己就写方法,先扫描当前进程,发现有同名的进程,然后还和自己的进程PID不一样,就关闭掉
我觉得好麻烦,还不如让程序自己本身关掉好
Forms,
windows,
messages,
Unit1 in 'Unit1.pas' {Form1};{$R *.res}
var
hwndclose:hwnd;
begin
hWndClose:=FindWindow(nil, PChar('form1'));//根据A.exe的窗口标题来判断,也可以根据窗口类
if hwndclose<>0 then
SendMessage(hWndClose,WM_CLOSE,0,0);
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
if hwndclose<>0 then
SendMessage(hWndClose,WM_CLOSE,0,0);
这两句是在程序初始化最早执行的,那时本程序的窗体还没创建呢,没看到Application.CreateForm(TForm1, Form1);在下面吗如果楼主测试成功的话把分给子渊吧 我还有事哩,急着去淘水,把6楼的浅海小鱼干死 哇哈哈哈哈
var
WM_CLOSEWND:UINT; procedure TfrmMain.TntFormCreate(Sender: TObject);
begin
WM_CLOSEWND:=RegisterWindowMessage('WMCLOSEWND');
end;procedure TfrmMain.WndProc(var Msg: Tmessage);
var
username:String;
iLen:integer;
pe:PEmployee;
iniFile:TIniFile;
begin
if Msg.Msg = WM_CLOSEWND then begin
//在这里处理自己的消息事件
end else
inherited;
end;