C〓〓webrowswerまとめ

6440 ワード

1.実行js:
 this.webBrowser1.ObjectForScripting = this;
                    this.webBrowser1.DocumentText = "<html><script type='text/javascript' src='https://xui.ptlogin2.qq.com/js/10020/h_xui.js?max_age=604800'></script>" +
                        "<script type='text/javascript'>function getUin(){pt.imgClick(this);return false;}</script><body></body></html>";
                    this.webBrowser1.Document.InvokeScript("getUin");
2.WebBrowser常用属性
・Navigate(new Uri(address)//リンクを開けます.Refsh()//リフレッシュ.GoBack()//後退.GoForward()//前進.Dock=DockStyle.Fill;//父の容器に完全に停車します.Script Errrors Suppresed=true;クローズエラー表示Uri a=new Uri(WebBrowser.Dockment.ActiveElement.GetAttribute)//クリック中のリンクアドレスを取得する3、WebBrowser常用イベント処理.Navigated+=new WebBrowser NavigatedEventHandler(WebBrowser Navigated);ローディング中にイベントを処理します.DocmentCopleted+=new WebBrowser DockmentCompletter Handler;ページローディング完了イベント.NewWindow+=new Cancel EventHandler(WebBrowser_NewWindow)//新しいウィンドウでページ4、イベント処理関数5を開きます.新しい接続を開きます.
 // Navigates to the given URL if it is valid.

        private void Navigate(WebBrowser web,String address)

        {

            if (String.IsNullOrEmpty(address)) return;

            if (address.Equals("about:blank")) return;

            if (!address.StartsWith("http://")) address = "http://" + address;

            try

            {

                WebBrowser.Navigate(new Uri(address));

               

            }

            catch (System.UriFormatException)

            {

                return;

            }

            // Updates the URL in TextBoxAddress upon navigation.

            private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)

           {

              toolStripTextBox1.Text = WebBrowser.Url.ToString();

           }

        }

 
6、新しいウィンドウの処理
 private void WebBrowser_NewWindow(object sender, CancelEventArgs e)

        {

            WebBrowser webb = new WebBrowser();

          

            WebBrowser = WebBrowsers[webtab.SelectedIndex];

            webb.Name = "webb" + webtab.TabCount;

            Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));        

            webb.Url = a;

            webb.Dock = DockStyle.Fill;

            TabPage p = new TabPage();           

            p.Controls.Add(webb);

            webtab.TabPages.Add(p);

            webtab.SelectedTab = p;

            webb.NewWindow += new CancelEventHandler(WebBrowser_NewWindow);

           

            e.Cancel = true;//                   

        }
7、ユーザ自動登録処理
#region       

private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

{

      HtmlDocument log_auto = WebBrowser.Document;

      HtmlElement log_btn = null;

 

       foreach (HtmlElement em in log_auto.All) //  

       {

             string str = em.Name;

             string id = em.Id;

             if ((str == "username") || (str == "password") || (str == "submit")) //    

             {

                    switch (str)

                    {

                        case "username": em.SetAttribute("value", usernamexml);

                            break; //    

                        case "password": em.SetAttribute("value", userpasswordxml );

                            break; //   

                        case "submit": log_btn = em;

                            break; //  submit  

                        default:

                            break;

                    }

                }

 

            }

            log_btn.InvokeMember("click"); //  submit                  

        }

#endregion


       public static Image GetRegCodePic(WebBrowser wbMail)
        {
            HtmlElement yy = (HtmlElement)wbMail.Document.Body.DomElement;




            HTMLDocument doc = (HTMLDocument)wbMail.Document.DomDocument;
            HTMLBody body = (HTMLBody)doc.body;
            IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
            int m = GetPicIndex(wbMail, "getimage");
            if (m != -1)
            {
                IHTMLControlElement img = (IHTMLControlElement)wbMail.Document.Images[m].DomElement;
                rang.add(img);
                rang.execCommand("Copy", false, null);
                Image RegImg = Clipboard.GetImage();
                Clipboard.Clear();
                return RegImg;
            }
            else
            {
                return null;
            }
        }
        public static int GetPicIndex(WebBrowser wbMail, string Src)
        {
            int imgnum = -1;
            for (int i = 0; i < wbMail.Document.Images.Count; i++) //     Image    
            {
                IHTMLImgElement img = (IHTMLImgElement)wbMail.Document.Images[i].DomElement;
                MessageBox.Show(img.src);
                if (img.src.Contains(Src)) return i;

            }
            return imgnum;
        }
cxi操作excel:
vs 2010操作Excelは、Excelテーブルにデータを表示するように要求し、データフォーマットを設定します.とはいえ、本当に自分の機能を実現するには、時間がかかります.まだ私と似ている人が多いと信じています.この機能を実現する必要があります.じゃ、まとめを作りましょう.不都合なところを教えてください.1.引用を追加する--come-microsoff excel 11.0 oject library 2 excelにアクセスする必要がある過程でdim exap as excel.appication'定義excelアプリケーションdim exbook as.workbook'定義ワークブックdim exshexcel.workexcel.workexcel.workshexcel.workexcel.workexcel.workexcel.workexcel.workexcel.workexcel.workexcel.workexcel基本的にexcelの操作は、exap.visible=true'によって、excelプログラムexbook=exap.workbook s.add'に新しいブックまたはexbook=exap.workbook s.openを追加しました./仕事中に既にexsheet=exbook.sheets(n)を開いて、コントロールしました.=値'は指定されたセルに対して値を割り当てます.この操作は大量に現れます.エクセル.range.font'はこの属性もよく使われます.書式はそれです.exsheet.range.font.co loridex=3'は色exsheet.rangeを設定します.EnttireColumn.AutoFit'は自動列幅/自動行高に変更できます.exsheet.range(cels,cell ls).merge'はセルを結合します.複雑な表はこれも多く使われています.exsheet.range(cels,cels).Horizontalignment=3'はレベルで中央に位置しています.もちろん、垂直のexSheet.PageSetup.Orientation=2'ページの横方向の熟練以上に変更することもできますが、基本的にはいくつかの要求が実現できます.4です.最後にファイルを保存します.exsheet.saveas(「ファイル名」)またはexbook.save 5.変数を整理します.exsheet=nothing exbook.close exbook=nothing exap.quit exap=nothing