C を知っている人なら簡単な質問だと思います (私は知りません)
プロキシが有効かどうかを確認するコードがあります。
レジストリから:
からcmd
:
C:\Users\Max>reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyenable" ProxyEnable REG_DWORD 0x1
関連するコードのスニペットを次に示します。
#define POLICY_KEY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings")
...
HKEY hKey;
LONG lResult;
LONG lResultServer;
DWORD dwValue, dwType, dwSize = sizeof(dwValue);
DWORD szType = REG_SZ;
char rgValue [1024];
DWORD BufSize = sizeof(rgValue);
const char *defaultVal = "0";
lResult = RegOpenKeyEx(HKEY_CURRENT_USER, POLICY_KEY, 0, KEY_READ, &hKey);
if(lResult == ERROR_SUCCESS)
{
lResult = RegQueryValueEx(hKey, "ProxyEnable", 0, &dwType, (LPBYTE)&dwValue, &dwSize);
RegCloseKey(hKey);
}
// Exit if a policy value was found.
if(lResult == ERROR_SUCCESS)
{
if((int)lResult == 1) // <- problematic place
{
...
...
理由はわかりませんが、if((int)lResult == 1)
false を返します。
それを比較するために私がしなければならないことlResult = 0x00000001
。
ありがとうございました、