现在的位置: 首页 > 综合 > 正文

注册表编程

2013年10月12日 ⁄ 综合 ⁄ 共 1135字 ⁄ 字号 评论关闭
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,这样原来的桌面和任务栏就不会出

抱歉!评论已关闭.