Loopback
|
Posted: Wed Feb 26, 2025 20:22 Post subject: |
|
|
Orion9 wrote: | Так и не понял в чём проблема. Сделал то же самое на Autohotkey - работает без проблем: |
Тут вопрос интерпретации значения первого параметра. Определение HKEY_CURRENT_USER:
((HKEY)(ULONG_PTR)((LONG)0x80000001))
Т.е. в данном случае значение первого параметра должно быть 32-битным беззнаковым целым. Для этого служит тип ulong_ptr, который интерпретирует число как беззнаковое целое с размером указателя. Так всё работает:
Code: | res = DllCall("Advapi32.dll\RegGetValueW", "ulong_ptr", 0x80000001, "wstr", key, "wstr", val, "dword", 0x00000002, "ptr", 0, "wstr:64", @data, "dword*", @size) |
Но тем не менее, это скорее всего можно назвать багом. Такое число должно работать нормально и с типом handle/ptr. |
|