程序代码如下:
HKEY hKey;
RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Apple\\项名",&hKey);
RegSetValue(hKey,NULL,REG_SZ,"数据",strlen("数据"));//创建的字符串值名称为“默认”
DWORD data=2;
RegSetValueEx(hKey,"名称",0,REG_DWORD,(CONST BYTE*)&data,4);
RegCloseKey(hKey);
RegSetValueEx却只能创建一个指定名称数值型的值。请问怎么创建一个名称为指定字符串值,?
HKEY hKey;
RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Apple\\项名",&hKey);
RegSetValue(hKey,NULL,REG_SZ,"数据",strlen("数据"));//创建的字符串值名称为“默认”
DWORD data=2;
RegSetValueEx(hKey,"名称",0,REG_DWORD,(CONST BYTE*)&data,4);
RegCloseKey(hKey);
RegSetValueEx却只能创建一个指定名称数值型的值。请问怎么创建一个名称为指定字符串值,?
解决方案 »
- 关于OnDraw与OnPaint的问题?
- socket编程,通过receive()接受后 怎么处理缓冲区的数据?
- 请教:如何从一个文件夹提取所有文件名并保存成txt文件
- 问一个属性有关的问题
- 考研路怎么走,最好途径的给高分
- 是操作系统的问题吗?
- 急急急,win2000的串口通信不正常问题,使用MSCOMM控件控制RTS在98下可以,2000下出现问题
- CImage???
- 关于sql server2000中判断字段空值的问题
- 我买的是visual c++6.0吗?如果不是,请给个图让我看看,不要买错了
- 如何使用 hook 截获Windows消息(WM_)而不再转发
- BindToStorage和BindToObject的区别是什么
可以的啊
char* pstr = "aaaa";
RegSetValueEx(hKey,"名称",0,REG_SZ,(CONST BYTE*)&data,(DOWRD)strlen(pstr));
将data换成pstr后,如下
char* pstr = "aaaa";
RegSetValueEx(hKey,"名称",0,REG_SZ,(CONST BYTE*)&pstr,(DWORD)strlen(pstr));创建DWORD值是可以了,但是数据内容却不是"aaaa";乱码?
或者用RegSetValueExA
ULONG j=256;
HKEY hRun;;
//get current program path
CString path;
GetModuleFileName(NULL,path.GetBuffer(MAX_PATH),MAX_PATH);//get current program full path
// path=AfxGetApp()->m_pszHelpFilePath;
// str=AfxGetApp()->m_pszExeName;
// MessageBox(path,str,0);
// path=path.Left(path.GetLength()-str.GetLength()-4);
// path.AppendFormat(_T("%s%s"),str,_T(".exe"));
//get end //set run at next boot in os
::RegCreateKeyExW(HKEY_CURRENT_USER,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),0,NULL,REG_OPTION_NON_VOLATILE
,KEY_ALL_ACCESS,NULL,&hRun,NULL);
::RegSetValueExW(hRun,_T("NAME"),0,REG_SZ,(BYTE*)LPCTSTR(path),256);