實現軟體自動啟動代碼

來源:互聯網
上載者:User
自動啟動代碼:

void CServerApp::SetAutoRun()

{

HKEY hKey;

char* szRegpath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";

long lRet;

// 開啟註冊表

lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0,

KEY_ALL_ACCESS, &hKey);

if (lRet != ERROR_SUCCESS)

{

AfxMessageBox("開啟自動啟動註冊表失敗!");

RegCloseKey(hKey);

return;

}

// 得到當前檔案的路徑

char szFilePath[MAX_PATH];

DWORD dwRet;

dwRet = GetModuleFileName(NULL, szFilePath, MAX_PATH);

if (dwRet == 0)

{

AfxMessageBox("得到當前檔案路徑失敗!");

return;

}

// 將當前路徑增加到該註冊表中

lRet = RegSetValueEx(hKey, "AttendServer", 0, REG_SZ,

(CONST BYTE*)&szFilePath, strlen(szFilePath) + 1);

if (lRet != ERROR_SUCCESS)

{

AfxMessageBox("寫入自動啟動註冊表失敗!");

RegCloseKey(hKey);

return;

}

RegCloseKey(hKey);

}

取消自動運行代碼:

void CServerApp::CancelAutoRun()

{

HKEY hKey;

char* szRegpath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";

long lRet;

// 開啟註冊表

lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0,

KEY_ALL_ACCESS, &hKey);

if (lRet != ERROR_SUCCESS)

{

AfxMessageBox("開啟自動啟動註冊表失敗!");

RegCloseKey(hKey);

return;

}

lRet = RegDeleteValue(hKey, "AttendServer");

if (lRet != ERROR_SUCCESS)

{

AfxMessageBox("刪除該軟體在自動啟動註冊表設定失敗!");

RegCloseKey(hKey);

return;

}

RegCloseKey(hKey);

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.