Чтение значений реестра с помощью MQL

Я пытаюсь прочитать ключ реестра, но я получаю различные ошибки (2 или 87).

string pvData = "";

Print(
  "RegLoadKeyW=",
  RegLoadKeyW(HKEY_CURRENT_USER, "Control Panel\\MenuShowDelay", pvData),
  " pvData=",pvData
);

возвращается

... RegLoadKeyA=87 pvData=

Этот код не имеет ошибки для открытия ключа

uint lResult = RegOpenKeyW( HKEY_CURRENT_USER, KeyName, hkey);

Но я не могу использовать RegQueryValueW

Print("RegGetValueA=",
  RegGetValueA(
     HKEY_CURRENT_USER,
     inKeyName,
     "MaxMonitorDimension",
     0x000f003f | 0x0200 | 0x00020019,//flags: all | 32bit | read
     4, // REG_DWORD
     pvData,
     pcbData
  ),
  " pvData=",pvData
);

...RegGetValueA=2 pvData=

У меня есть эти коды импорта

#import "Advapi32.dll"
int RegLoadKeyW(
  int    hKey,
  string lpSubKey,
  string& lpFile
);

int RegOpenKeyW(
      uint hKey,
      string lpSubKey,
      int& phkResult
);

uint RegCloseKey(int hKey);

int RegGetValueA(
  /*HKEY*/     int   hkey,
  /*LPCSTR*/   string  lpSubKey,
  /*LPCSTR*/   string  lpValue,
  /*DWORD*/    int   dwFlags,
  /*LPDWORD*/  int pdwType,
  /*PVOID*/    string&   pvData,
  /*LPDWORD*/  int& pcbData
);

#import
  • Я пытаюсь прочитать различные ключи в "HKEY_CURRENT_USER\Control Panel\Desktop".
  • Моя система x64 с Windows 8.1, и я использую mql4 для чтения значений реестра.

0 ответов

Другие вопросы по тегам