سلام دوستان من internet explorer از کامپوننت microsoft internet control ساختم و یه آدرس رو بهش میدم که برام لود کنه چطور میتونم از navigatecompleted استفاده کنم؟اگه نیاز هست تا سورس برنامه رو هم بذارم؟
Printable View
سلام دوستان من internet explorer از کامپوننت microsoft internet control ساختم و یه آدرس رو بهش میدم که برام لود کنه چطور میتونم از navigatecompleted استفاده کنم؟اگه نیاز هست تا سورس برنامه رو هم بذارم؟
سلام ببخشید که غیر فنی است ولی کسی نمیدوست چکار باید بکنم؟استاتید؟یزرگان؟
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Threading;
using System.IO;
using System.Reflection;
using System.Collections.Specialized;
using System.Collections;
using Microsoft.Win32;
using SHDocVw;
namespace hproxy
{
class Program
{
private static InternetExplorer ie = new InternetExplorer();
private static Program ms = new Program();
static void Main(string[] args)
{
ie.Visible=true;
HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://*:8081/");
listener.Start();
Console.WriteLine("Listening(0)...");
for (; ; )
{
// ms.IEAutoDetectProxy(true);
Console.WriteLine("Listening(1)...");
HttpListenerContext ctx = listener.GetContext();
Worker we = new Worker(ctx);
we.ProcessRequest();
// new Thread(new Worker(ctx).ProcessRequest).Start();
}
Console.ReadLine();
}
class Worker
{
private HttpListenerContext context;
public Worker(HttpListenerContext context)
{
this.context = null;
this.context = context;
}
public void ProcessRequest()
{
bool test=false;
bool test2 = false;
string[] filter = {"perspolis","esteghlal","ghermez","zard"};
string site;
string msg = context.Request.HttpMethod + " " + context.Request.Url;
string url = context.Request.RawUrl;
Console.WriteLine(msg);
Console.WriteLine("url: " + url);
string sb;
foreach (string fil in filter)
{
if (context.Request.Url.ToString().Contains(fil) == true)
{
sb = "<html><body><h1>site shoma tavasoteh khodam filter shod</h1></body></html>";
byte[] b = Encoding.UTF8.GetBytes(sb.ToString());
context.Response.ContentLength64 = b.Length;
context.Response.OutputStream.Write(b, 0, b.Length);
context.Response.OutputStream.Close();
sb = "";
Console.WriteLine(sb);
test = true;
break;
}
else
{
test = false;
}
}
if(test == false)
{
ms.IEAutoDetectProxy(false);
get geturl = new get();
Console.WriteLine("test is true and url is:" + url);
site = "";
site=geturl.GetPage(url);
File.WriteAllText(@"c:\mytestfile.html", site);
foreach (string sti in filter)
{
if (site.Contains(sti) == true)
{
sb = "";
sb = "<html><body><h1>site shoma tavasoteh khodam filter shod</h1></body></html>";
byte[] c = Encoding.UTF8.GetBytes(sb.ToString());
context.Response.ContentLength64 = c.Length;
context.Response.OutputStream.Write(c, 0, c.Length);
context.Response.OutputStream.Close();
sb = "";
test2 = true;
break;
}
else
{
test2 = false;
}
}
if (test2 == false)
{
ie.Stop();
ie.Refresh();
}
}
Console.Clear();
url = "";
}
}
public void IEAutoDetectProxy(bool set)
{
// Setting Proxy information for IE Settings.
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(@"Software\\Micros oft\\Windows\\CurrentVersion\\Internet Settings\\Connections", true);
byte[] savedLegacySetting = (byte[])RegKey.GetValue("SavedLegacySettings");
byte[] hassan = (byte[])RegKey.GetValue("hassan");
if (set)
{
savedLegacySetting[8] = Convert.ToByte(3);
hassan[8] = Convert.ToByte(3);
Console.WriteLine("proxy is enable.");
}
else
{
savedLegacySetting[8] = Convert.ToByte(1);
hassan[8] = Convert.ToByte(1);
Console.WriteLine("proxy is disable.");
}
RegKey.SetValue("SavedLegacySettings", savedLegacySetting);
RegKey.SetValue("hassan", hassan);
}
}
}
اون جایی هست که ie.refresh میشه میخوام وقتی تموم شدم بفهمم که تموم شده با استفاده از ie.navigatecompleted2 چکار کنم؟
سه روزه این رو گذاشتم اینجا ؟