RegistryKey mKey;
//...
mKey.GetValue("SomeRegName");
< /code>
И это хорошо, так как все установлено правильно для Mkey < /code>.
Я узнаю, что мне нужно использовать это, чтобы получить последнее время написания: < /p>
[DllImport("advapi32.dll", EntryPoint = "RegQueryInfoKey", CallingConvention = CallingConvention.Winapi, SetLastError = true)]
extern private static int RegQueryInfoKey(
UIntPtr hkey,
out StringBuilder lpClass,
ref uint lpcbClass,
IntPtr lpReserved,
out uint lpcSubKeys,
out uint lpcbMaxSubKeyLen,
out uint lpcbMaxClassLen,
out uint lpcValues,
out uint lpcbMaxValueNameLen,
out uint lpcbMaxValueLen,
out uint lpcbSecurityDescriptor,
IntPtr lpftLastWriteTime);
< /code>
Так что мне нужна ручка для моего ключа, но я не могу сделать это так: < /p>
UIntPtr hkey = new UIntPtr(mKey.Handle);
UIntPtr hkey = (UIntPtr)mKey.Handle;
Потому что SaferegistryHandle не может быть преобразован в uintptr . Мой вопрос: как я должен назвать эту функцию Winapi, чтобы получить то, что мне нужно?
, а второй вопрос - как я могу преобразовать INTPTR LPFTLastWritetime в DateTime ?
Моя цель - получить последнее время записи определенного регистра.[code]RegistryKey mKey; //... mKey.GetValue("SomeRegName"); < /code>
И это хорошо, так как все установлено правильно для Mkey < /code>. Я узнаю, что мне нужно использовать это, чтобы получить последнее время написания: < /p>
[DllImport("advapi32.dll", EntryPoint = "RegQueryInfoKey", CallingConvention = CallingConvention.Winapi, SetLastError = true)] extern private static int RegQueryInfoKey( UIntPtr hkey, out StringBuilder lpClass, ref uint lpcbClass, IntPtr lpReserved, out uint lpcSubKeys, out uint lpcbMaxSubKeyLen, out uint lpcbMaxClassLen, out uint lpcValues, out uint lpcbMaxValueNameLen, out uint lpcbMaxValueLen, out uint lpcbSecurityDescriptor, IntPtr lpftLastWriteTime); < /code>
Так что мне нужна ручка для моего ключа, но я не могу сделать это так: < /p>
UIntPtr hkey = new UIntPtr(mKey.Handle); UIntPtr hkey = (UIntPtr)mKey.Handle; [/code]
Потому что SaferegistryHandle не может быть преобразован в uintptr . Мой вопрос: как я должен назвать эту функцию Winapi, чтобы получить то, что мне нужно? , а второй вопрос - как я могу преобразовать INTPTR LPFTLastWritetime в DateTime ?