请教一个简单的问题 ( 积分: 300 )

  • 主题发起人 主题发起人 菜鸟黄
  • 开始时间 开始时间

菜鸟黄

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样实现开机自动启动功能,用代码实现?<br>最好是运行时,任务栏和设备管理器里面都看不到这个运行中的程序.
 
1、开机自启动实现方法有很多种,比如:<br>&nbsp;&nbsp;&nbsp;写注册表、放在“启动”菜单中、做成服务等等<br>2、隐藏进程或者以Dll的形式注入别的进程
 
最好是用写注册表这种.<br>欢迎各位指教小弟.
 
我敢保证,普通程序都在设备管理器里中无法查看[:D][:D]
 
写到注册表中<br>HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
 
RegTemp&nbsp;:&nbsp;TRegistry;<br><br>&nbsp;&nbsp;RegTemp&nbsp;:=&nbsp;TRegistry.Create;<br>&nbsp;&nbsp;Try<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.RootKey&nbsp;:=&nbsp;HKEY_LOCAL_MACHINE;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.WriteString('Test',&nbsp;'C:/Project1.exe');<br>&nbsp;&nbsp;Finally<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.CloseKey;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.Free;<br>&nbsp;&nbsp;End;
 
Var&nbsp;<br>&nbsp;RegFile&nbsp;:&nbsp;TRegistry;&nbsp;<br>&nbsp;AppFile&nbsp;:&nbsp;String&nbsp;;&nbsp;<br>begin&nbsp;<br>&nbsp;AppFile&nbsp;:=&nbsp;Application.ExeName&nbsp;;&nbsp;<br>&nbsp;RegFile:=TRegistry.Create;&nbsp;<br>&nbsp;RegFile.RootKey:=HKEY_LOCAL_MACHINE;&nbsp;<br>&nbsp;try&nbsp;<br>&nbsp;&nbsp;&nbsp;RegFile.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',True);&nbsp;<br>&nbsp;&nbsp;&nbsp;RegFile.WriteString('Test&nbsp;Add&nbsp;App&nbsp;to&nbsp;Start','&quot;'+AppFile+'&quot;');&nbsp;<br>&nbsp;except&nbsp;<br>&nbsp;End;&nbsp;<br>&nbsp;RegFile.CloseKey&nbsp;;&nbsp;<br>&nbsp;RegFile.Free;&nbsp;<br>end;
 
好的~谢谢~我会试一下的.<br><br>我还想问一下,那如果我想取消自动运行,在程序里应该怎样写呢/
 
RegTemp.DeleteKey('Test');
 
to&nbsp;xianguo<br><br>来自:xianguo,&nbsp;时间:2007-5-8&nbsp;14:14:08,&nbsp;ID:3711679<br>RegTemp.DeleteKey('Test');<br><br>在那里加入这个?
 
RegTemp&nbsp;:&nbsp;TRegistry;<br><br>&nbsp;&nbsp;RegTemp&nbsp;:=&nbsp;TRegistry.Create;<br>&nbsp;&nbsp;Try<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.RootKey&nbsp;:=&nbsp;HKEY_LOCAL_MACHINE;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.DeleteKey('Test');&nbsp;//<br>&nbsp;&nbsp;Finally<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.CloseKey;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.Free;<br>&nbsp;&nbsp;End;
 
Var&nbsp;<br>&nbsp;RegFile&nbsp;:&nbsp;TRegistry;&nbsp;<br>begin&nbsp;<br>&nbsp;&nbsp;RegTemp&nbsp;:=&nbsp;TRegistry.Create;<br>&nbsp;&nbsp;Try<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.RootKey&nbsp;:=&nbsp;HKEY_LOCAL_MACHINE;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.DeleteKey('Test');<br>&nbsp;&nbsp;Finally<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.CloseKey;<br>&nbsp;&nbsp;&nbsp;&nbsp;RegTemp.Free;<br>&nbsp;&nbsp;End;<br>end;<br><br>是这样吗?
 
好的非常谢谢xianguo的帮忙,等我试一下,没问题的话.300分是你的了
 
我试过了,写入注册表没有问题,但不能删除.<br>我装了360安全卫士和卡巴斯基,不知道这个有没有关系.
 
还有就是<br><br>最好是运行时,任务栏和设备管理器里面都看不到这个运行中的程序.<br><br>这个功能怎样实现,我只实现了不显示在任务栏中
 
设备管理器&nbsp;-&gt;&nbsp;任务管理器<br>&nbsp;&nbsp;你在网上搜一下“隐藏进程”
 
远程线程插入可以,不过要做成DLL形式的
 
http://www.2ccc.com/article.asp?articleid=1494
 
接受答案了.
 
后退
顶部