开机自动运行

来源:互联网 发布:knn算法例题 编辑:程序博客网 时间:2024/05/18 20:49

要实现开机自动运行,要用到两个操作注册表的函数:RegOpenKeyEx()和RegSetValueEx()。前者用于打开注册表的键,后者则为打开的键设置键值。
函数的详细用法可以查msdn哈~~

示例代码如下:

BOOL SetAutoRun(HWND hwnd)//开机自动运行
{
     //得到程序本身路径
      TCHAR sthPath[MAX_PATH];
       GetModuleFileName(NULL, sthPath, MAX_PATH);
       //MessageBox(NULL, sthPath, "path", MB_OK);

      TCHAR str[MAX_PATH];
       HKEY hRegKey;
        BOOL bResult;
       lstrcpy(str, "Software\\Microsoft\\Windows\\CurrentVersion\\Run");
       if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, str, 0, KEY_ALL_ACCESS, &hRegKey) != ERROR_SUCCESS)
               bResult = FALSE;
       else
       {
               if(RegSetValueEx(hRegKey, str, 0, REG_SZ, (BYTE*)sthPath, strlen(sthPath) + 1) != ERROR_SUCCESS)
                       bResult = FALSE;
                else
               {
                       //MessageBox(NULL, "OK", "", MB_OK);
                        bResult = TRUE;
                       RegCloseKey(hRegKey);
               }
        }

       return bResult;
}

原创粉丝点击