hur.cn - 华软网

 热门搜索

开机自启动问题

  作者:未知    来源:网络    更新时间:2011/5/26
TCHAR m_fileName[100];
// CString m_fileName;
 GetModuleFileName(NULL,m_fileName,100);
 HKEY hKey;
 CString str = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
 if (ERROR_SUCCESS != RegCreateKey(HKEY_LOCAL_MACHINE, str, &hKey))
 {
  MessageBox(_T("打开注册表项失败"));
  RegCloseKey(hKey);
  return;
 }
 int length = 0;
 while(m_fileName[length]!=_T('\0'))
  length++;
 if (ERROR_SUCCESS != RegSetValueEx(hKey, _T("HOOK.exe"), 0, REG_SZ, (const BYTE *)m_fileName, sizeof(TCHAR)*length))
 {
  MessageBox(_T("写注册表失败"));
  RegCloseKey(hKey);
 }
 RegCloseKey(hKey); 

这是在网上找到的代码,我运行后关机,但是开机后并没有运行我的程序。。。

我应该做什么修改 才能适合我的程序呢?

---华软 网友回答---
if (ERROR_SUCCESS != RegSetValueEx(hKey, _T("HOOK.exe"), 0, REG_SZ, (const BYTE *)m_fileName, length))

---华软网友回复---
引用 1 楼 king_hhuang 的回复:
if (ERROR_SUCCESS != RegSetValueEx(hKey, _T("HOOK.exe"), 0, REG_SZ, (const BYTE *)m_fileName, length))

不行啊,开机后完全无反应。。
_T("HOOK.exe")HOOK。exe 是该填写我的程序名么?
---华软网友回复---
谁能解释一下这程序的原理么?  在此先谢谢了
---华软网友回复---
RegCreateKey换成

RegOpenKeyEx
---华软网友回复---
引用 4 楼 zz_lgy 的回复:
RegCreateKey换成

RegOpenKeyEx


还是没反应呀,我查了一下 注册表。。貌似 没有写进去
---华软网友回复---
引用楼主 taotaoma456 的回复:
TCHAR m_fileName[100];
// CString m_fileName;
 GetModuleFileName(NULL,m_fileName,100);
 HKEY hKey;
 CString str = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
 if (ERROR_SUCCESS != Re……

可以写进入注册表中
---华软网友回复---
引用 5 楼 taotaoma456 的回复:
引用 4 楼 zz_lgy 的回复:
RegCreateKey换成

RegOpenKeyEx


还是没反应呀,我查了一下 注册表。。貌似 没有写进去

是否vista系统以后,有权限限制,需要Admin权限的程序才能写HLKM
---华软网友回复---
引用 5 楼 taotaoma456 的回复:
引用 4 楼 zz_lgy 的回复:
RegCreateKey换成

RegOpenKeyEx


还是没反应呀,我查了一下 注册表。。貌似 没有写进去


MessageBox(_T("打开注册表项失败"));

真怀疑你的MessageBox会隐身
---华软网友回复---
可能有下面2个原因:
1.被杀毒软件杀了。
2.修改注册表权限不够
---华软网友回复---
问题解决了3q,结贴给分      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。