月度归档: 2017 年 9 月

  • VC++窗口置顶

    VC++窗口置顶,可以使用win32函数SetWindowPos来实现:

    SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  • VC++开机启动

    VC++写的程序,想要开机启动,可以使用注册表来实现,代码如下:

    inline void SetAutoRun()
    {
           TCHAR szFilePath[MAX_PATH];
           memset(szFilePath, 0, MAX_PATH);
           if (GetModuleFileName(NULL, szFilePath, MAX_PATH))
           {
                  HKEY hKey;
                  CString strRegPath = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
                  if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, strRegPath, 0, KEY_SET_VALUE, &hKey) == ERROR_SUCCESS)
                  {
                         RegSetValueEx(hKey, _T("SecContrl"), 0, REG_SZ, (LPBYTE)szFilePath, (lstrlen(szFilePath) + 1)*sizeof(TCHAR));
                  }
                  RegCloseKey(hKey);
           }
    }
    inline void ReSetAutoRun()
    {
           HKEY hKey;
           CString strRegPath = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
           if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, strRegPath, 0, KEY_SET_VALUE, &hKey) == ERROR_SUCCESS)
           {
                  RegDeleteValue(hKey, _T("SecContrl"));
           }
           RegCloseKey(hKey);
    }