下午写的一个小东西,想想没什么技术,省得别人还要找资料,就放出来吧, :)
下载地址:http://bbs.80dnst.com/thread-96-1-1.html
//----------------------------------------------------------------
// filename: main.cpp
// created: 2007-10-16 12:45
// author: ∮明天去要饭
// http://hi.baidu.com/kgdiwss
// http://www.80dnst.com
// http://bbs.80dnst.com
// purpose: set ie proxy
//----------------------------------------------------------------
#include <stdio.h>
#include <windows.h>
#define PROXY_REG_ITEM "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"
// global variables
char g_szProxyServ[256] = {0};
void Usage()
{
printf("by:∮明天去要饭\n");
printf("Usage:\n");
printf(" ProxySetting.exe [-options] [ip:port]\n\n");
printf(" [options]\n");
printf(" -e Enable IE Proxy.\n");
printf(" -d Disable IE Proxy.\n\n");
printf("Example:\n");
printf(" ProxySetting.exe -e 127.0.0.1:8080\n");
printf(" ProxySetting.exe -d\n");
}
//
// Set IE Proxy
//
// HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
// ProxyEnable:
// 0 proxy is disable
// 1 proxy enable.
// ProxyServer:
// proxy ip
//
BOOL SetProxy(BOOL bEnabled)
{
HKEY hKey = NULL;
LONG lret = RegOpenKeyEx(HKEY_CURRENT_USER,
PROXY_REG_ITEM,
NULL,
KEY_WRITE |
KEY_SET_VALUE,
&hKey);
if(hKey == NULL || lret != ERROR_SUCCESS)
{
return FALSE;
}
// enable or disable
if(bEnabled)
{
lret = RegSetValueEx(hKey,
"ProxyServer",
NULL,
REG_SZ,
(BYTE*)g_szProxyServ,
sizeof(g_szProxyServ));
DWORD dwenable = 1;
lret = RegSetValueEx(hKey,
"ProxyEnable",
NULL,
REG_DWORD,
(LPBYTE) & dwenable,
sizeof(dwenable));
}
else
{
DWORD dwenable = 0;
lret = RegSetValueEx(hKey,
"ProxyEnable",
NULL,
REG_DWORD,
(LPBYTE) & dwenable,
sizeof(dwenable));
}
RegCloseKey(hKey);
return TRUE;
}
int main(int argc, char *argv[])
{
if(argc != 2 && argc != 3)
{
Usage();
return -1;
}
// enable
if(strcmp(argv[1], "-e") == 0)
{
if(strcmp(argv[2], "") == 0 || strcmp(argv[2], "0") == 0)
{
printf("Proxy IP:Port Error.\n");
return -1;
}
strncpy(g_szProxyServ, argv[2], sizeof(g_szProxyServ));
if(SetProxy(TRUE))
{
printf("Enable IE Proxy Successful.\n");
}
else
{
printf("Enable IE Proxy Failed.\n");
}
}
// disable
else if(strcmp(argv[1], "-d") == 0)
{
if(SetProxy(FALSE))
{
printf("Disable IE Proxy Successful.\n");
}
else
{
printf("Disable IE Proxy Failed.\n");
}
}
return 0;
}
效果如下: