⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setcancelproxy.cpp

📁 设置代理
💻 CPP
字号:
/******************************************************************************
Module:  SetCancelProxy.cpp
Notices: Copyright (c) 2006 Lenus Margin
******************************************************************************/

#include "SetCancelProxy.h"

///////////////////////////////////////////////////////////////////////////////

char *regIE		= "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
char *regFlash		= "Software\\JetCar\\JetCar\\Proxy";
char *regFlashProxy	= "Software\\JetCar\\JetCar\\Proxy\\Proxy2";
char *FXPIni		= "D:\\Program Files\\FlashFXP\\FlashFxp.ini";
char *NETTransport	= "D:\\Program Files\\Xi\\NetTransport 2\\Admin' NetTransport.proxy";
char *MYIEIni		= "D:\\Program Files\\Maxthon\\Config\\config.ini";

IPPORT ProxyIP;

///////////////////////////////////////////////////////////////////////////////

void GetIP(HWND hwnd)
{
	static char IP_PORTbuf[20];

	memset(IP_PORTbuf,0,sizeof(IP_PORTbuf));
	GetDlgItemText(hwnd,IDC_IP,IP_PORTbuf,sizeof(IP_PORTbuf));
	ProxyIP.strIP	= IP_PORTbuf; 
	ProxyIP.strPORT	= strstr(IP_PORTbuf,":")+1;
}
///////////////////////////////////////////////////////////////////////////////

BOOL SetReg(LPCTSTR Key, char * ValueName,const char *Value,DWORD ValueType,DWORD Size)
{
	HKEY hkey;
	if(ERROR_SUCCESS == RegCreateKey(HKEY_CURRENT_USER,Key,&hkey))
	{
		RegSetValueEx(hkey,ValueName,NULL,ValueType,(BYTE *)Value,Size);
		RegCloseKey(hkey);
		return TRUE;
	}
	else
		return FALSE;

}
///////////////////////////////////////////////////////////////////////////////

BOOL WriteIniFile(char *FileName,char *SenctionName,char *ValueName,char *Value)
{
	return WritePrivateProfileString(SenctionName,ValueName,Value,FileName);
}
///////////////////////////////////////////////////////////////////////////////

BOOL CheckIP(HWND hwnd)
{
	char *temp;

	GetIP(hwnd);
	if(ProxyIP.strIP == NULL && ProxyIP.strPORT == NULL)
		return FALSE;

	*(ProxyIP.strPORT-1)	= 0;
	ProxyIP.ip		= inet_addr(ProxyIP.strIP);
	ProxyIP.port		= strtol(ProxyIP.strPORT,&temp,10);

	if(ProxyIP.ip ==INADDR_NONE || !ProxyIP.port)
		return FALSE;

	return TRUE;
}
///////////////////////////////////////////////////////////////////////////////

BOOL UpdataProxyIP(HWND hwnd)
{
	int ret=1;

	// 设置IE代理,写注册表
	if(IsDlgButtonChecked(hwnd,IDC_IE))
	{
		*(ProxyIP.strPORT-1)=':';
		ret &=SetReg(regIE,"ProxyServer",ProxyIP.strIP,REG_SZ,strlen(ProxyIP.strIP));
		*(ProxyIP.strPORT-1)=0;
	}
	// 设置Flash代理,写注册表
	if(IsDlgButtonChecked(hwnd,IDC_FLASH))
	{
		ret &=SetReg(regFlashProxy,"Server",ProxyIP.strIP,REG_SZ,strlen(ProxyIP.strIP));
		ret &=SetReg(regFlashProxy,"Port",(char *)&ProxyIP.port,REG_DWORD,4);
	}
	// 设置FXP代理,写ini文件
	if(IsDlgButtonChecked(hwnd,IDC_FXP))
	{
		ret &=WriteIniFile(FXPIni,"Proxy","Type","13");
		ret &=WriteIniFile(FXPIni,"Proxy","Host",ProxyIP.strIP);
		ret &=WriteIniFile(FXPIni,"Proxy","Port",ProxyIP.strPORT);
	}
	// 设置影音传送带代理,写proxy文件
	if(IsDlgButtonChecked(hwnd,IDC_NETTRANS))
	{
		;
	}
	// 设置MYIE代理,写ini文件 因为只是使用IE的代理所以不需要设置什么
	if(IsDlgButtonChecked(hwnd,IDC_MYIE))
	{
		;
	}

	return ret;
}
///////////////////////////////////////////////////////////////////////////////

BOOL SetProxy(HWND hwnd)
{
	int ret=1;
	int EnableValue=1;
	
	// 启动IE代理
	if(IsDlgButtonChecked(hwnd,IDC_IE))
		ret &= SetReg(regIE,"ProxyEnable",(char *)&EnableValue,REG_DWORD,4);
	// 启动Flash代理
	if(IsDlgButtonChecked(hwnd,IDC_FLASH))
	{
		ret &=SetReg(regFlash,"DefaultForHttp",(char *)&EnableValue,REG_DWORD,4);
		ret &=SetReg(regFlash,"DefaultForFtp",(char *)&EnableValue,REG_DWORD,4);
	}
	// 启动FXP代理
	if(IsDlgButtonChecked(hwnd,IDC_FXP))
	{
		ret &=WriteIniFile(FXPIni,"Proxy","Type","13");
	}
	// 启动影音传送带代理
	if(IsDlgButtonChecked(hwnd,IDC_NETTRANS))
	{
		;
	}
	// 启动MYIE代理
	if(IsDlgButtonChecked(hwnd,IDC_MYIE))
	{
		ret &=WriteIniFile(MYIEIni,"Settings","UseIEProxy","1");
	}

	return ret;
}
///////////////////////////////////////////////////////////////////////////////

BOOL CancelProxy(HWND hwnd)
{
	int ret			= 1;
	int DisableValue	= 0;

	// 取消IE代理
	if(IsDlgButtonChecked(hwnd,IDC_IE))
		ret &= SetReg(regIE,"ProxyEnable",(char *)&DisableValue,REG_DWORD,4);
	// 取消Flash代理
	if(IsDlgButtonChecked(hwnd,IDC_FLASH))
	{
		ret &=SetReg(regFlash,"DefaultForHttp",(char *)&DisableValue,REG_DWORD,4);
		ret &=SetReg(regFlash,"DefaultForFtp",(char *)&DisableValue,REG_DWORD,4);
	}
	// 取消FXP代理
	if(IsDlgButtonChecked(hwnd,IDC_FXP))	
		ret &=WriteIniFile(FXPIni,"Proxy","Type","0");
	// 取消影音传送带代理
	if(IsDlgButtonChecked(hwnd,IDC_NETTRANS))
		;
	// 取消MYIE代理
	if(IsDlgButtonChecked(hwnd,IDC_MYIE))
		ret &=WriteIniFile(MYIEIni,"Settings","UseIEProxy","0");

	return ret;

}

BOOL path(HWND hwnd,char *Name)
{
	OPENFILENAME ofn;

	memset(&ofn,0,sizeof(OPENFILENAME));
	ofn.lStructSize		= sizeof(OPENFILENAME);
	ofn.hwndOwner		= hwnd;
	ofn.lpstrFilter		= NULL;
	ofn.nMaxFile		= MAX_PATH;
	ofn.Flags		= OFN_PATHMUSTEXIST | OFN_PATHMUSTEXIST;
	ofn.lpstrFile		= Name;
	if(GetOpenFileName(&ofn))
		 return TRUE;
	else
		return FALSE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -