如何删除正在运行的程序!?(50分)

  • 主题发起人 主题发起人 鹦鹉
  • 开始时间 开始时间

鹦鹉

Unregistered / Unconfirmed
GUEST, unregistred user!
如何删除正在运行的程序!?
我用的程序是在符合条件的情况下,主程序调用另外一个程序来删除主程序!?
此时主程序还在运行,就是一个父进程调用一个子进程来删除正在运行的父进程!?

还有就是隐藏本程序所在的文件夹,让他人无法查找到程序里保存的内容并删除?

谢谢!
 
好像不可能的!?
除非释放了所占的资源
 
看看我的程序吧,可能有所启发.再就搜索以前的贴有很多位FW都回答过了。
procedure Tw_check_newver.BitBtn1Click(Sender: TObject);
var NewVer_Path:string;
; ; hwnd:Thandle;
; ; Fnew,FOld:TsearchRec;
begin
; NewVer_Path:=Trim(dxButtonEdit1.text);
; if copy(NewVer_Path,length(NewVer_Path)-1,1)<>'/' then
; ; ;NewVer_Path:=NewVer_Path+'/';
; NewVer_Path:= NewVer_Path+ExtractFileName(ParamStr(1));
; if NewVer_path=paramstr(1) then
; ; ;begin
; ; ; ; ; ; ;msgbox('源程序和目的程序同处在相同的路径!',48,'系统提示');
; ; ; ; ; ; ;exit;
; ; ;end;
; if FileExists(NewVer_Path) then
; begin
; ; ;if FindFirst(NewVer_Path,faAnyFile,Fnew)=0 then
; ; ; ; IF FindFirst(ParamStr(1),faAnyFile,Fold)=0 then
; ; ; ; ; ;if (Fnew.time<Fold.time) then
; ; ; ; ; ;begin
; ; ; ; ; ; ; msgbox('没有找到新的版本!',48,'系统提示');
; ; ; ; ; ; ; exit;
; ; ; ; ; ;end;
; ; ;if 6=msgbox('找到新版本的程序,系统将关闭程序进行更新。继续吗?',4+32,'') then
; ; ; ;begin
; ; ; ; ; hwnd:=FindWindow(nil,pchar(ParamStr(2)));
; ; ; ; ; if hwnd<>0 then begin
; ; ; ; ; ; ; ; try
; ; ; ; ; ; ; ; ; ; application.MainForm.hide;
; ; ; ; ; ; ; ; ; ; sendMessage(hwnd,WM_SetFocus,0,0);
; ; ; ; ; ; ; ; ; ; sendMessage(hwnd,wm_close,0,0);
; ; ; ; ; ; ; ; ; ; postmessage(hwnd,WM_KEYDOWN,VK_Return,0);
; ; ; ; ; ; ; ; Finally
; ; ; ; ; ; ; ; ; ; sendMessage(application.Handle,WM_SetFocus,0,0);
; ; ; ; ; ; ; ; ; ; application.MainForm.show;
; ; ; ; ; ; ; ; ; ; if 6=msgbox('您真的想替换原程序吗吗?',4+32,'') then
; ; ; ; ; ; ; ; ; ; if CopyFile(pchar(NewVer_Path),pchar(ParamStr(1)),false) then
; ; ; ; ; ; ; ; ; ; begin
; ; ; ; ; ; ; ; ; ; ; ;msgbox('更新成功!',48,'系统提示');
; ; ; ; ; ; ; ; ; ; ; ;application.Terminate;
; ; ; ; ; ; ; ; ; ; end;
; ; ; ; ; ; ; ; end;

; ; ; ; ; end;

; ; ; ;end;
; end
; else
; ; ;msgbox('['+NewVer_Path+']文件不存在!请确认这是存放新版本的路径.',16,'系统提示');
end;
 
删除正在运行的程序!?
不可能吧!微软的主页上说得很明白!
至于隐藏本程序所在的文件夹,让他人无法查找到程序里保存的内容并删除?
这个倒是可以,复杂点用VXD或者WDM吧!简单点用小花样,估计骗半个高手没问题!
 
我想应该调用
类似于terminateprocess的api函数吧?
 
多人接受答案了。
 
后退
顶部