在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例桌面应用界面/GUI → C#139邮箱发手机短信源码

C#139邮箱发手机短信源码

桌面应用界面/GUI

下载此实例
  • 开发语言:C#
  • 实例大小:0.21M
  • 下载次数:3
  • 浏览次数:92
  • 发布时间:2024-11-14
  • 实例类别:桌面应用界面/GUI
  • 发 布 人:不忘初
  • 文件格式:.rar
  • 所需积分:1
 相关标签: 139 13 手机 源码 邮箱

实例介绍

【实例简介】

C#139邮箱发手机短信源码

【实例截图】

from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Timers;
using mshtml;
using System.Net;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;//

namespace WindowsApplication42
{
    public partial class Form2 : Form
    {   HtmlDocument hdoc;
        System.Timers.Timer _timer = new System.Timers.Timer();
        public Form2()
        {
            InitializeComponent();
            int _Interval = 100;
            _timer.Enabled = true;
            _timer.Interval = _Interval;
            _timer.Elapsed = new ElapsedEventHandler(Timer_Elapsed);
        }
         private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            string CurrTime = System.DateTime.Now.ToLongTimeString();
            string s = "20:01:00";
            if (CurrTime == s)
            {
                this.Invoke(new MethodInvoker(delegate
                //this.Invoke(new MethodInvoker(() =>
                {
                    string aaa = "123456";
                    string bbb = "123456";
                    IHTMLDocument3 aa = CorssDomainHelper.GetDocumentFromWindow(this.webBrowser1.Document.Window.Frames["miniLoginFrame"].DomWindow as IHTMLWindow2);
                    aa.getElementById("miniLogin_username").setAttribute("value", aaa, 0);
                    aa.getElementById("miniLogin_pwd").setAttribute("value", bbb, 0);
                    IHTMLElementCollection input = (IHTMLElementCollection)aa.getElementsByTagName("input");
                    foreach (IHTMLElement ht in input)
                    {
                        if (ht.getAttribute("type", 0).Equals("submit") != null)
                        {
                            ht.click();
                        }
                   } 
                }
                )
                );
            }
        }
        private void Form2_Load(object sender, EventArgs e)
       {
            comboBox1.Text = "http://mail.10086.cn/";
            comboBox1.Items.Add("http://p.www.xiaomi.com/zt/xm_account/loginfacade.html?third=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C%26sid%3Deshop&sid=eshop&callback=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C&sign=3C15pt35v9KK5SR8saFsKQ89uRo%253D&1382244002316");
            comboBox1.Items.Add( "http://mail.10086.cn/");
        }
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //定义html元素 通过Name获取控件值  
            // HtmlElement tbUserid = webBrowser1.Document.All["UserName"];  
            // HtmlElement tbPasswd = webBrowser1.Document.All["Password"];
            //定义html元素 通过ID获取控件值 (用户名 密码 登录按钮)  sendSmsBtn
            HtmlElement tbUserid = webBrowser1.Document.GetElementById("txtUser");//通行证/手机号/别名
            HtmlElement tbPasswd = webBrowser1.Document.GetElementById("txtPass");//密码
            HtmlElement btnSubmit = webBrowser1.Document.GetElementById("loginBtn");//登 录
            //三个元素其一为空返回 加载后才执行赋值 否则会出现为null值的崩溃错误  
            if (tbUserid == null || tbPasswd == null || btnSubmit == null)
            {
                return;
            }
            // MessageBox.Show("7");
            //设置元素value属性值 (用户名 密码值)  
            tbUserid.SetAttribute("value", "1366498XXX2@139.com");//改成自己的邮箱
            tbPasswd.SetAttribute("value", "12345678");//改成自己的密码
            //执行元素的方法:如click submit  
            // MessageBox.Show("8");
            //btnSubmit.InvokeMember("click");
            hdoc = webBrowser1.Document;
   
        }
        class CorssDomainHelper
        {

            private static Guid IID_IWebBrowserApp = new Guid("0002DF05-0000-0000-C000-000000000046");

            private static Guid IID_IWebBrowser2 = new Guid("D30C1661-CDAF-11D0-8A3E-00C04FC9E26E");

            // Utility for IE cross domain access 

            // Returns null in case of failure. 

            public static IHTMLDocument3 GetDocumentFromWindow(IHTMLWindow2 htmlWindow)
            {

                if (htmlWindow == null)
                {

                    return null;

                }

                // First try the usual way to get the document. 

                try
                {

                    IHTMLDocument2 doc = htmlWindow.document;

                    return (IHTMLDocument3)doc;

                }

                catch (System.Runtime.InteropServices.COMException comEx)
                {

                    // I think COMException won't be ever fired but just to be sure ... 

                }

                catch (UnauthorizedAccessException)
                {

                }

                catch (Exception ex)
                {

                    return null;

                }

                // At this point the error was E_ACCESSDENIED because the frame contains a document from another domain. 

                // IE tries to prevent a cross frame scripting security issue. 

                try
                {

                    // Convert IHTMLWindow2 to IWebBrowser2 using IServiceProvider. 

                    IServiceProvider sp = (IServiceProvider)htmlWindow;

                    //Use IServiceProvider.QueryService to get IWebBrowser2 object. 

                    Object brws = null;

                    //sp.QueryService(ref IID_IWebBrowserApp, ref IID_IWebBrowser2, out brws);

                    //// Get the document from IWebBrowser2. 

                    //IWebBrowser2 browser = (IWebBrowser2)(brws);

                    //return (IHTMLDocument3)browser.Document;

                }

                catch (Exception ex)
                {

                    Console.WriteLine(ex);

                }

                return null;

            }

        }
        //鼠标事件  因为我用的不多,所以其他参数没有写
        private readonly int MOUSEEVENTF_LEFTDOWN = 0x0002;//模拟鼠标左键按下
        private readonly int MOUSEEVENTF_MOVE = 0x0001;//模拟鼠标移动
        private readonly int MOUSEEVENTF_LEFTUP = 0x0004;//模拟鼠标左键抬起
        private readonly int MOUSEEVENTF_ABSOLUTE = 0x8000;//鼠标绝对位置
        private readonly int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下 
        private readonly int MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起 
        private readonly int MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模拟鼠标中键按下 
        private readonly int MOUSEEVENTF_MIDDLEUP = 0x0040;// 模拟鼠标中键抬起 
        [DllImport("user32")]
        public static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
        private void button1_Click(object sender, System.EventArgs e)
        {
              HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
                for (int i = 0; i < webBrowser1.Document.Window.Frames.Count; i )
                {             
                        IHTMLDocument3 baiduDoc = CorssDomainHelper.GetDocumentFromWindow(webBrowser1.Document.Window.Frames[i].DomWindow as IHTMLWindow2);
                        if (baiduDoc != null && baiduDoc.documentElement != null && baiduDoc.documentElement.document != null)
                        {
                            IHTMLElementCollection linkss = ((HTMLDocument)(baiduDoc.documentElement.document)).links;
                            foreach (mshtml.IHTMLElement element in linkss)
                            {
                                //网址
                            }
                            IHTMLElementCollection el = ((HTMLDocument)(baiduDoc.documentElement.document)).getElementsByTagName("input");//
                            foreach (mshtml.IHTMLElement em in el)
                            {
                                //输入值
                            }
                            IHTMLElementCollection eel = ((HTMLDocument)(baiduDoc.documentElement.document)).getElementsByTagName("span");//
                             //遍历所有元素
                            foreach (mshtml.IHTMLElement eem in eel)
                            {
                                if (eem.innerText == "发送")//.InnerText == "发送"
                                {
                                    MessageBox.Show(" 发送按钮:" eem.getAttribute("id"));
                                    eem.click();//执行按钮
                                }
                            }
                            
                        }

                }
        }

        //public Point GetOffset(HtmlElement el)
        //{
        //    //get element pos
        //    Point pos = new Point(el.OffsetRectangle.Left, el.OffsetRectangle.Top);

        //    //get the parents pos
        //    HtmlElement tempEl = el.OffsetParent;
        //    while (tempEl != null)
        //    {
        //        pos.X = tempEl.OffsetRectangle.Left;
        //        pos.Y = tempEl.OffsetRectangle.Top;
        //        tempEl = tempEl.OffsetParent;
        //    }

        //    return pos;
        //}
        private void button2_Click(object sender, System.EventArgs e)
        {
            ////获取输入的URL
            //string url = "http://p.www.xiaomi.com/zt/xm_account/loginfacade.html?third=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C%26sid%3Deshop&sid=eshop&callback=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C&sign=3C15pt35v9KK5SR8saFsKQ89uRo%253D&1382244002316";
            //string url = "http://mail.10086.cn/";
            ////string url = "http://mail.163.com/";  
            string url = comboBox1.Text;
            //创建http链接  
            //HttpWebRequest对象实例:该类用于获取和操作HTTP请求 var可改成HttpWebRequest  
            var request = (HttpWebRequest)WebRequest.Create(url);   //创建WebRequest对象  
            // MessageBox.Show("1");
            //HttpWebResponse对象实例:该类用于获取和操作HTTP应答 var可改成HttpWebResponse  
            var response = (HttpWebResponse)request.GetResponse();  //GetResponse:获取答复  
            // MessageBox.Show("2");
            //构造数据流对象实例  
            Stream stream = response.GetResponseStream();  //GetResponseStream:获取应答流 
            // MessageBox.Show("3");
            StreamReader sr = new StreamReader(stream);    //从字节流中读取字符  
            // MessageBox.Show("4");
            //从流当前位置读取到末尾并显示在WebBrower控件中  
            string content = sr.ReadToEnd();
            // MessageBox.Show("5");
            webBrowser1.ScriptErrorsSuppressed = true; //屏蔽错误信息 C# 系统组件
            webBrowser1.DocumentText = content;
            //webBrowser1.Navigate("http://p.www.xiaomi.com/zt/xm_account/loginfacade.html?third=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C%26sid%3Deshop&sid=eshop&callback=http%253A%252F%252Forder.xiaomi.com%252Flogin%252Fcallback%253Ffollowup%253Dhttp%25253A%25252F%25252Fwww.xiaomi.com%2526sign%253DMWM0ZDg1YWE3ZDc4NGJjNzU0MDM4MmRiNzY0ZWY0MDJlYTVkODBlZA%252C%252C&sign=3C15pt35v9KK5SR8saFsKQ89uRo%253D&1382244002316");
        }

        private void button3_Click(object sender, System.EventArgs e)
        {
            HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
            for (int i = 0; i < webBrowser1.Document.Window.Frames.Count; i )
            {
                IHTMLDocument3 baiduDoc = CorssDomainHelper.GetDocumentFromWindow(webBrowser1.Document.Window.Frames[i].DomWindow as IHTMLWindow2);
                if (baiduDoc != null && baiduDoc.documentElement != null && baiduDoc.documentElement.document != null)
                {
                    //Thread.Sleep(10000);//稍候3秒
                    IHTMLElementCollection el = ((HTMLDocument)(baiduDoc.documentElement.document)).getElementsByTagName("input");//
                    //遍历所有元素
                    // int iii = 0;
                    foreach (mshtml.IHTMLElement em in el)
                    {
                        // MessageBox.Show(iii " id:" em.getAttribute("id") " value:" em.getAttribute("value") " innerText:" em.innerText " name:" em.getAttribute("name") " type:" em.getAttribute("type") " class:" em.getAttribute("class"));//class
                        em.setAttribute("value", "1366xxxx822,");
                        // MessageBox.Show("X:" em.offsetWidth " Y:" em.offsetHeight);//
                        var
                        xx = em.offsetLeft this.Left 350 webBrowser1.Left;// 
                        var
                        yy = em.offsetTop this.Top 200 webBrowser1.Top;//
                        int x = int.Parse("" xx);//在()输入要点击的x位置
                        int y = int.Parse("" yy);//在()中输入要点击的y位置
                        //绝对位置
                        Rectangle rect = System.Windows.Forms.SystemInformation.VirtualScreen;
                        int width = rect.Width;//获取屏幕X大小
                        int height = rect.Height;//获取屏幕Y大小
                        // MessageBox.Show("X:" width " Y:" height);
                        mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x * 65535 / width, y * 65535 / height, 0, 0);//移动到需要点击的位置
                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE , x * 65535 / width, y * 65535 / height, 0, 0);//点击
                        mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE , x * 65535 / width, y * 65535 / height, 0, 0);//抬起
                        //相对位置  指的是相对于当前鼠标的相对位置
                        //mouse_event(MOUSEEVENTF_MOVE, x, y, 0, 0);//移动
                        mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);//点击
                        mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);//抬起
                    }
                }
            }
            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
            {
                string bbb = "1234";
                IHTMLDocument3 aa = CorssDomainHelper.GetDocumentFromWindow(this.webBrowser1.Document.Window.Frames[2].DomWindow as IHTMLWindow2);
                aa.getElementById("txtContent").setAttribute("value", bbb, 0);
            }
        }

        private void button4_Click(object sender, System.EventArgs e)
        {
            HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
            for (int i = 0; i < webBrowser1.Document.Window.Frames.Count; i )
            {
                IHTMLDocument3 baiduDoc = CorssDomainHelper.GetDocumentFromWindow(webBrowser1.Document.Window.Frames[i].DomWindow  as IHTMLWindow2);
                if (baiduDoc != null && baiduDoc.documentElement != null && baiduDoc.documentElement.document != null)
                {
                    IHTMLElementCollection linkss = ((HTMLDocument)(baiduDoc.documentElement.document)).links;
                    foreach (mshtml.IHTMLElement element in linkss)
                    {  // MessageBox.Show(ii " " element.getAttribute("id") " " element.getAttribute("type") " " element.getAttribute("href"));
                        //加入你的代码就可以了。
                        if (element.getAttribute("id") == "smsSend")
                        {
                            //MessageBox.Show(" 发信息:" element.getAttribute("id"));
                            element.click();//执行按钮
                        }
                    }
                }
            }
        }

        private void button5_Click(object sender, System.EventArgs e)
        {
            webBrowser1.Document.GetElementById("loginBtn").InvokeMember("Click");//按登录
        }

        private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {

        } 
    }
 }

标签: 139 13 手机 源码 邮箱

实例下载地址

C#139邮箱发手机短信源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警