首页
社区
课程
招聘
[求助]WIN7下通过vc如何实现程序自启动
发表于: 2014-5-19 12:35 4974

[求助]WIN7下通过vc如何实现程序自启动

2014-5-19 12:35
4974
xp下通过以下代码可以自启动,但是WIN7下就不行了,关了UAC 管理员运行也写入不了注册表。求各位大神知道,怎么在win7下实现程序自启动。

int CreateRun()
{

    HKEY   hKey;
    char pFileName[MAX_PATH] = {0};
  
    DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH);

    LPCTSTR lpRun = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");

    long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
    if(lRet== ERROR_SUCCESS)
    {

        RegSetValueEx(hKey, _T("UilibDemo"), 0,REG_SZ,(const BYTE*)(LPCSTR)pFileName, MAX_PATH);
        RegCloseKey(hKey);
    }
    return 0;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2161
活跃值: (750)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
RegSetValueEx(hKey, _T("UilibDemo"), 0,REG_SZ,(const BYTE*)(LPCSTR)pFileName, lstrlen(pFileName)*sizeof(TCHAR));
可能是这个问题
最好单步调试看哪一行有问题
2014-5-19 13:47
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
win7下有写位置的注册表权限保护的比较严,所以在确定代码没有问题的情况下。手动修改你要改的注册表,看是不是也不能改。总之确定是不是权限的问题
2014-5-19 14:09
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
SHGetSpecialFolderPath(NULL,DestPath,CSIDL_STARTUP,0); 获取自启动目录,将程序释放到这个目录下就可以了
2014-5-19 15:59
0
游客
登录 | 注册 方可回帖
返回
//