注册表的编写
来源:互联网 发布:深入浅出mysql 编辑:程序博客网 时间:2024/04/29 17:51
常用函数 ☆ 打开一个键的函数:RegOpenKeyEx
函数定义:LONG RegOpenKeyEx(HKEY hKey,//已经打开的键的句柄,或者直接是上述几个根键
LPCTSTR lpSubKey,//要打开的子键名字的地址
DWORD ulOptions,//保留值,必须为0
REGSAM samDesired,//打开方式,如读还是写
PHKEY phkResult//返回的打开的子键的句柄
);
☆ 查询某一个键值:RegQueryValueEx
函数定义:LONG RegQueryValueEx(HKEY hKey,//要查询的键的句柄
LPCTSTR lpValueName,//要查询的键值的名称
LPDWORD lpReserved,//保留值
LPDWORD lpType,//要查询的数据的类型
LPBYTE lpData,//要返回的查询的数据
LPDWORD lpcbData//预置的数据的长度
);
☆ 设置一个键值RegSetValueEx
函数定义:LONG RegSetValueEx(HKEY hKey,//要设置的键的句柄
LPCTSTR lpValueName,//要访问的键值的名称
LPDWORD lpReserved,//保留值
DWORD dwType,//要设置的数据的类型
const BYTE *lpData,//要设置的健值
DWORD cbData//数据的长度
);
e.g.1
BOOL IsFlashPlayerExist()
{
HKEY hResult;
CString m_strkey1=_T("SOFTWARE//Macromedia//FlashPlayerActiveX");
CString m_strkey2=_T("SOFTWARE//Macromedia//FlashPlayerPlugin");
if(ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,m_strkey2,0,KEY_QUERY_VALUE,&hResult)&&
ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,m_strkey1,0,KEY_QUERY_VALUE,&hResult))
return FALSE;
char cRegData[256];
DWORD dwCount=256;
if(ERROR_SUCCESS!=RegQueryValueEx(hResult,_T("Path"),0,0,(LPBYTE)cRegData,&dwCount))
{
RegCloseKey(hResult);
return FALSE;
}
RegCloseKey(hResult);
CString cRes ;
cRes.Format(_T("%s"),cRegData);
if(cRes!=_T(""))
return TRUE;
return FALSE;
}
e.g.2
void SetAutoRun(bool IsAutoRun)
{
CString strPath = GetCurrentPath() + NAME_INSTANCE + L".exe";
int nLength = strPath.GetLength() * 2 + 2;
CString str;
HKEY hRegKey;
str=_T("Software//Microsoft//Windows//CurrentVersion//Run");
if(RegOpenKey(HKEY_LOCAL_MACHINE,str,&hRegKey) != ERROR_SUCCESS)
{
::AfxMessageBox(_T("Open Run Fail"));
return;
}
if (IsAutoRun)
{
if(::RegSetValueEx(hRegKey,NAME_INSTANCE,0,REG_SZ,(CONST BYTE*)strPath.GetBuffer(0),nLength) != ERROR_SUCCESS)
{
::AfxMessageBox(_T("Write run fail"));
strPath.ReleaseBuffer();
::RegCloseKey(hRegKey);
return;
}
}
else {
if(::RegSetValueEx(hRegKey,NAME_INSTANCE,0,REG_SZ,(CONST BYTE*)L"",0) != ERROR_SUCCESS)
{
::AfxMessageBox(_T("Write run fail"));
strPath.ReleaseBuffer();
::RegCloseKey(hRegKey);
return;
}
}
::RegCloseKey(hRegKey);
}
- 注册表的编写
- 注册表文件的编写
- 第一次胡乱注册表的编写
- C#编写修改注册表的程序代码
- 利用C#编写修改注册表的程序代码
- Windows注册表脚本文件的编写
- 注册表编写格式
- 编写注册表reg文件
- 宽屏玩魔兽,注册表编写
- 注册表reg文件编写
- 注册表 读写 操作 我自己编写的类
- 编写注册表文件修改注册表项
- 注册表文件(.reg)编写方法
- windows下注册表脚本编写
- windows注册表--注册表的认识
- 编写注册表reg文件及批处理操作注册表
- *c#在64位上编写32位程序时注册表重定向的问题解决办法**
- REG注册表文件编写全攻略
- Socket编程(C#)
- Linux代理网关做Vpn
- 怎样添加右键菜单?
- MVC原理(struts框架详解)
- 将一个WinForm设置到桌面上
- 注册表的编写
- Asp.Net 缓存技术总结
- Internet上不同网段间的通信问题解析
- 支持Cacti运作的PHP+RRDtool环境配置方法 -1
- 产生不重复的随机数
- vim 删除所有空行
- ajax poller
- LoadRunner在性能测试工作中遇到的问题以及解决办法小结
- 支持Cacti运作的PHP+RRDtool环境配置方法 -2