GetModuleFileNameを使用してアプリケーションへの絶対パスを取得し、RegOpenKeyExRunOnce
を使用してレジストリキーを開き、 RegSetValueExを使用して値を設定します。
if (RegOpenKeyEx (HKEY_CURRENT_USER,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce",0, KEY_SET_VALUE, &hk1) == ERROR_SUCCESS)
{
RegSetValueEx(hk1, // subkey handle
"", // value name
0, // must be zero
REG_SZ, // value type
(LPBYTE) &path, sizeof(DWORD)); // length of value data
RegCloseKey(hk1);
}
ただし、システムを再起動した後、アプリケーションが起動しません。