نقل قول نوشته شده توسط aradrobo مشاهده تاپیک
لطفاً اگر کسی در این زمینه اطلاعاتی دارد ، ما و دوستان ما را راهنمایی کنند . با تشکر
این ابزار کوچیک AutoProxy رو من به درخواست یکی از دوستان عزیزم ساخته بودم : AutoProxy11.rar
اینترنت مملو از سایت هایی است که Proxy رایگان از نوع anonymous پیدا کرده و لیست می کنند. خاصیت شون در اینه که IP اصلی شما
رو از مشخصات هدر ارسالی حذف می کنند، میزبان متوجه میشه که شما از پروکسی استفاده کرده اید اما به هر حال IP تون و مشخصات جغرافیایی و
کشور عوض شده. نرم افزاری که نوشته بودم رو اجرا می کنید، مشخصات یکسری پروکسی رو بهش می دهید و اون بصورت خودکار یا به درخواست
شما پروکسی تون رو عوض می کنه، البته در Internet Explorer و سایر نرم افزار هایی که مستقیم یا غیر مستقیم از هسته Internet Explorer
یا تنظیمات پروکسی اش استفاده می کنند.

اون بخش از کد اش که شما بهش نیاز دارید که IP تون عوض بشه این متد SetProxy ئه :

private const string InternetSettings = @"Software\Microsoft\Windows\CurrentVersion\Intern et Settings";

[System.Runtime.InteropServices.DllImport("wininet. dll")]
public static extern bool InternetSetOption(IntPtr hInternet
, int dwOption, IntPtr lpBuffer, int dwBufferLength);
public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
public const int INTERNET_OPTION_REFRESH = 37;
public const int INTERNET_OPTION_PROXY = 38;
public const int INTERNET_OPEN_TYPE_PROXY = 3;

public struct INTERNET_PROXY_INFO
{
public int dwAccessType;
public IntPtr proxy;
public IntPtr proxyBypass;
};

private void SetProxy(string server, int port)
{
try
{
INTERNET_PROXY_INFO info;
info.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
info.proxy = System.Runtime.InteropServices.Marshal.StringToHGl obalAnsi(server
+ ":" + port.ToString());
info.proxyBypass = System.Runtime.InteropServices.Marshal.StringToHGl obalAnsi("local");
IntPtr ptr = System.Runtime.InteropServices.Marshal.AllocCoTask Mem(
System.Runtime.InteropServices.Marshal.SizeOf(info ));
System.Runtime.InteropServices.Marshal.StructureTo Ptr(info, ptr, true);
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, ptr
, System.Runtime.InteropServices.Marshal.SizeOf(info ));
Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
InternetSettings, true);
if ((server.Length > 0) && (port >= 0))
{
reg.SetValue("ProxyEnable", 1);
reg.SetValue("ProxyServer", server + ":" + port.ToString());
}
else
{
reg.SetValue("ProxyEnable", 0);
reg.SetValue("ProxyServer", "");
}
reg.Close();
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
}
catch
{
}
}


هر جای کد که دیدید دو تا کاراکتر فاصله مشکوک اضافی هست و یا خطا میده اون دو کاراکتر رو حذف کنید، باگ تگ نمایش کد فروم ئه.