Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Holms, Вы писали:
H>>Проблема: получить полный путь ветки реестра заня ее путь.
H>>На форуме пару раз спрашивали никто толком не ответил
OE>http://gzip.rsdn.ru/?Forum/Info.aspx?name=FAQ.winapi.hkeytoname ?
Спасибо. Вроде то что надо
собрал такой код
// testZwQueryKey.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
typedef enum _KEY_INFORMATION_CLASS {
KeyBasicInformation,
KeyNodeInformation,
KeyFullInformation,
KeyNameInformation
} KEY_INFORMATION_CLASS;
typedef struct _KEY_BASIC_INFORMATION {
LARGE_INTEGER LastWriteTime;
ULONG TitleIndex;
ULONG NameLength;
WCHAR Name[1]; // Variable length string
} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
#define NTSTATUS DWORD
NTSYSAPI
NTSTATUS
NTAPI
ZwQueryKey(
IN HANDLE KeyHandle,
IN KEY_INFORMATION_CLASS KeyInformationClass,
OUT PVOID KeyInformation,
IN ULONG KeyInformationLength,
OUT PULONG ResultLength
);
int main(int argc, char* argv[])
{
HKEY hKey;
RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Far\\Editor", 0, KEY_ALL_ACCESS, &hKey );
if( hKey )
{
ULONG l = 1024;
PKEY_BASIC_INFORMATION kbi = (PKEY_BASIC_INFORMATION)(new char[l]);
ZwQueryKey( hKey, KeyNodeInformation, kbi, l, &l );
RegCloseKey( hKey );
}
return 0;
}
подключил к проекту ntdll.lib (пробовал две версии которые нашел в инете)
получаю такую ошибку
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
testZwQueryKey.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned long __stdcall ZwQueryKey(void *,enum _KEY_INFORMATION_CLASS,void *,unsigned long,unsigned long *)" (__imp_?ZwQueryKey@@YGKPAXW4_KEY_INFORMATION_CLASS@@0KPAK@Z) referenced in function _main
.\Debug/testZwQueryKey.exe : fatal error LNK1120: 1 unresolved externals
Вопрос, где взять нормальную либу что-бы нашлось то что надо.
Если есть у кого скиньте на eugen. rata [dog] gmail.com
Спасибо