RegOpenKeyEx、RegOpenKey FormatMessage
来源:互联网 发布:安卓微信多开软件 编辑:程序博客网 时间:2024/06/17 03:35
今天读注册表时一直返回错误,使用RegOpenKeyEx返回5 失败,而RegOpenKey返回0 成功
查了N多文章未果...
RegOpenKeyEx说明
http://feed.yeeyan.com/articles/view/17986/4844
里面提到返回值:
如果函数调用成功,返回值ERROR_SUCCESS.
否则,函数将返回一个定义于Winerror.h的非零错误码.可以使用FormatMessage函数以及FORMAT_MESSAGE_FROM_SYSTEM标识符来得到一个常规的错误描述.
否则,函数将返回一个定义于Winerror.h的非零错误码.可以使用FormatMessage函数以及FORMAT_MESSAGE_FROM_SYSTEM标识符来得到一个常规的错误描述.
因此,用FormatMessage解析错误码
HKEY hResult = NULL;
LONG nResult = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE", KEY_READ, NULL, &hResult);
LONG nResult = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE", KEY_READ, NULL, &hResult);
TCHAR *buffer;
//DWORD error = ERROR_DS_OBJ_STRING_NAME_EXISTS;
::FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
nResult,
0,
( LPTSTR )&buffer,
0,
NULL );
::MessageBox( NULL, buffer, NULL, 0 );
LocalFree( buffer );
//DWORD error = ERROR_DS_OBJ_STRING_NAME_EXISTS;
::FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
nResult,
0,
( LPTSTR )&buffer,
0,
NULL );
::MessageBox( NULL, buffer, NULL, 0 );
LocalFree( buffer );
得到错误信息为:拒绝访问
...
不明白为啥拒绝访问
- RegOpenKeyEx、RegOpenKey FormatMessage
- RegOpenKeyEx
- FormatMessage
- FormatMessage
- FormatMessage
- FormatMessage
- FormatMessage
- FormatMessage
- FormatMessage
- formatmessage
- RegOpenKeyEx(转)
- RegOpenKeyEx()(转)
- regopenkeyex用法
- RegOpenKeyEx FUNCTION
- regopenkeyex用法
- FormatMessage &GetLastError
- FormatMessage 浅析
- FormatMessage函数
- 我在图书馆
- eclipse导入一个vss下的工程后,加不进包
- SQL 中 DATEADD和DATEDIFF函数用法详解
- Linux系统下C编译器 — gcc 入门
- 得到用户控件中服务控件
- RegOpenKeyEx、RegOpenKey FormatMessage
- 用C#打开记事本,并且给记事本添加内容
- SCA 编程模型入门
- java 反射经典例子
- "Foo""bar" 的辞源
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye仿真
- 8088 汇编速查手册
- Martin Fowler
- unique 和distinct 的区别