TOP

根据HKey查找当前打开的注册表路径
2014-11-18 18:37:20 】 浏览:3943次 本网站的内容取自网络,仅供学习参考之用,绝无侵犯任何人知识产权之意。如有侵犯请您及时与本人取得联系,万分感谢。
Tags:根据 HKey 查找 当前 打开 注册表 路径

  在StackOverFlow里找到的,一定要收藏起来。


  #include


  #include


  typedef LONG NTSTATUS;


  #ifndef STATUS_SUCCESS


  #define STATUS_SUCCESS ((NTSTATUS)0x00000000L)


  #endif


  #ifndef STATUS_BUFFER_TOO_SMALL


  #define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L)


  #endif


  std::wstring GetKeyPathFromKKEY(HKEY key)


  {


  std::wstring keyPath;


  if (key != NULL)


  {


  HMODULE dll = LoadLibrary(L"ntdll.dll");


  if (dll != NULL) {


  typedef DWORD (__stdcall *ZwQueryKeyType)(


  HANDLE KeyHandle,


  int KeyInformationClass,


  PVOID KeyInformation,


  ULONG Length,


  PULONG ResultLength);


  ZwQueryKeyType func = reinterpret_cast (::GetProcAddress(dll, "ZwQueryKey"));


  if (func != NULL) {


  DWORD size = 0;


  DWORD result = 0;


  result = func(key, 3, 0, 0, &size);


  if (result == STATUS_BUFFER_TOO_SMALL)


  {


  size = size + 2;


  wchar_t* buffer = new (std::nothrow) wchar_t[size];


  if (buffer != NULL)


  {


  result = func(key, 3, buffer, size, &size);


请关注公众号获取更多资料


根据HKey查找当前打开的注册表路径 https://www.cppentry.com/bencandy.php?fid=80&id=13005

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇A*算法实现迷宫最短路径搜索(C+.. 下一篇计算机二级辅导:C/C++中的联合uni..

评论

验 证 码:
表  情:
内  容: