註冊表編程

HKEY hKey;
DWORD dwAge=30;
RegCreateKey(HKEY_LOCAL_MACHINE,_T("software\\http://www.sunxin.org\\admin"),&hKey);
RegSetValue(hKey,NULL,REG_SZ,_T("zhangsan"),2*strlen("zhangsan"));
RegSetValueEx(hKey,_T("age"),0,REG_DWORD,(CONST BYTE*)&dwAge,4);
DWORD dw,cbSize;
dw=REG_DWORD;
cbSize=sizeof(DWORD);
RegQueryValueEx(hKey,_T("age"),0,&dw,(LPBYTE)&cbSize,&cbSize);
CString str;
str.Format(_T("%d"),dw);
MessageBox(str);
RegCloseKey(hKey);




HKEY_CURRENT_USER可以寫進去,但是

HKEY_LOCAL_MACHINE也可以寫進去,但是你看不到系統把你的項添加到哪裏去了,USER則可以正確顯示


如何讓我的程序在桌面啓動前執行


 


問下大俠:


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run







HKEY_CURRENT_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run




有上面區別嗎




程序放在哪個下面 執行快?
xp以下沒區別,vista以上HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run你一般權限寫不進去,所以推薦HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run都可以寫進去,而且作用一樣


 


 


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
裏面的Userinit是在shell之前運行,由winlogon.exe創建進程
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
裏面的shell是自定義的外殼,由userinit.exe創建進程
這兩個都符合你的要求


把你的程序的窗口置爲頂層
SetWindowPos
或者修改shell,把你的程序作爲shell,不運行explorer,這樣原來的桌面和任務欄就不會出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章