レジストリの書き込み
Posted: 2012年6月21日(木) 23:14
http://dixq.net/forum/viewtopic.php?f=3&t=7188
を参考に自身のファイル名を
レジストリに書きこむ簡単なプログラムを作っているのですが
コンパイルしても何も変わりません。
管理者権限での実行もしました。
環境はwindows 7 64bit で vc++ でコンパイルしています。
以下がソースコードです。
ちなみにところどころを
printf("エラー%dが発生しました\n", WSAGetLastError());
を追加したのですが、
エラー番号は0でした。
また、デバッグした結果
の箇所がうまくいっていないような気がしました。
を参考に自身のファイル名を
レジストリに書きこむ簡単なプログラムを作っているのですが
コンパイルしても何も変わりません。
管理者権限での実行もしました。
環境はwindows 7 64bit で vc++ でコンパイルしています。
以下がソースコードです。
ちなみにところどころを
printf("エラー%dが発生しました\n", WSAGetLastError());
を追加したのですが、
エラー番号は0でした。
また、デバッグした結果
if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,&key))
#include <windows.h>
TCHAR buf[MAX_PATH+1];
int setkey() {
HKEY key=NULL;
int sz=GetModuleFileName(NULL,buf,sizeof(buf))+1;//a
if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"),REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,&key)){//a
RegSetValueEx(key,TEXT("DTCLNR"),0,REG_SZ,(const BYTE*)buf,sz*sizeof(TCHAR));
RegCloseKey(key);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
setkey();
}