我想運行在C++中的代碼,這將導致在啓動時使用註冊表運行的.exe文件...但問題是代碼結果失敗,沒有顯示任何錯誤。 ..我編譯DEVCPP代碼... 代碼是使用註冊表在啓動時運行編
void createkey(char *path)
{
int reg;
HKEY hkey,Hkey1;
DWORD ptr;
reg=RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"),0,KEY_SET_VALUE,&hkey);
if(reg=ERROR_SUCCESS)
cout<<"success"<<endl;
else
cout<<"failure"; //(a)
cout<<reg<<endl; //(b)
if(reg==0)
{
RegSetValueEx(hkey,TEXT("key"),0,REG_SZ,(BYTE*)path,strlen(path));
}
}
在命令行失敗
和0得到印刷作爲結果的(a)和(b)...(不知道如何爲這兩個意思是完全相反的東西)....傳遞給regsetvalueex的char *路徑是「c:/Dev-Cpp/bin/Untitled2.exe」...我相信這些函數不起作用,key不會出現在運行鍵(我使用regedit檢查)...
@hans ...這是一個愚蠢的錯誤,我承諾..但仍然是我的setvalue函數失敗...當你告訴這個過程需要運行提升時,你是否意味着這個... ...我怎樣才能配置devcpp輸出最大警告....? – avinash
RegSetValueEx的最後一個參數也是錯誤的。而你的路徑斜線傾向於錯誤的方式。並確保你的客戶瞭解你正在放慢這個功能的啓動時間,並給他們一個禁用它的方法。 –
@hans ...我如何配置devcpp輸出最大警告(即如何實現-Wall -Wextra -ansi -pedantic)....? – avinash