说一个最粗糙的方法:
不断的扫描整个系统中的窗口句柄(FindWindow就行了),发现IE的窗口之后,取它的Address的内容(FindWindow,GetWindowText),然后根据保存的非法网页字典相比较,符合规则的做相应的处理就行了。这个方法很容易实现,但是效果肯定不好。

解决方案 »

  1.   

    我只能提供你一點相關資料.供你參考  記得需要套用非法网页字典(這個我也沒套用過!!!!!)
    以下是檢測access俵中的字段
    OleDbConnection oleDbConnection1=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Environment.CurrentDirectory+"\\CustSMS.mdb");
    oleDbConnection1.Open();
    object[] oa={null, null, "Customer", "終止"};
    DataTable schemaTable  = oleDbConnection1.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns, oa);
    MessageBox.Show((schemaTable.Rows.Count ==0? "不存在": "存在"));
    oleDbConnection1.Close();
      

  2.   

    不如直接把需要禁止的网站写到hosts文件
    访问的时候IE会提示的
      

  3.   

    你只需要对微软本身的ie还是要对其它基于ie核心的所有浏览器都限制?
      

  4.   

    现在证明可以对基于ie核心的大部分浏览器应该是有效的
    需要引用SHDocVw命名空间这是浏览器自带的类库
    public static void LimitIE()
    {
      foreach(SHDocVw.InternetExplorer ie in new SHDocVw.ShellWindowsClass())
      {
        ie.BeforeNavigate2 +=new DWebBrowserEvents2_BeforeNavigate2EventHandler(ie_BeforeNavigate2);
        if(ie.LocationURL.IndexOf("sina")>=0)
              //可以考虑使用正则表达式
    {
    MessageBox.Show("此网站不允许访问");
    ie.GoHome();
    //ie.quit对基于ie核心的浏览器会出现异常
    }
    }
    }
    具体实现的话,可以使用一个timer来进行监视,希望这对你有所帮助
      

  5.   

    如果别人将你的ie的首页设置为你要监视的网页,那么,则可以使用:
    object o = Type.Missing;
    ie.Navigate("about:blank",ref o,ref o,ref o,ref o);
      

  6.   

    好的,谢谢IVSEE!!!!!!
    真的已经实现了那个功能了!!!!太激动了,谢谢!!
    还有个问题就是ie.BeforeNavigate2 +=new DWebBrowserEvents2_BeforeNavigate2EventHandler(ie_BeforeNavigate2);
    这个函数指针指向的那个ie_BeforeNavigate2该怎么写啊还有,有没有一个好点的办法不要TIMER驱动的啊??谢谢了!!!
      

  7.   

    Sunmast(速马) 的辦法是最好的,寫hosts.如果發現指定ip,轉到指定的網頁
      

  8.   

    那么究竟怎么用程序写HOSTS文件呢???
    那个文件在哪里啊??
    谢谢