1、外包公司閑的蛋疼,搞什麼早上簽到,不簽到不扣錢,簽到不多給錢,而且還有更是閑的蛋疼得一個女同事不好好在家多陪陪家人,大早上跑到公司只為打卡,提升個人巨大魅力。為了幫助你們解脫,就寫了一個自動打卡程式。 2、一直都想寫這個程式,可是一直沒有思路,知道有個軟體公司找我做自動答題程式,於是自動打卡程式 ...
1、外包公司閑的蛋疼,搞什麼早上簽到,不簽到不扣錢,簽到不多給錢,而且還有更是閑的蛋疼得一個女同事不好好在家多陪陪家人,大早上跑到公司只為打卡,提升個人巨大魅力。為了幫助你們解脫,就寫了一個自動打卡程式。
2、一直都想寫這個程式,可是一直沒有思路,知道有個軟體公司找我做自動答題程式,於是自動打卡程式才應運而生。未來可以將自動答題程式開源工大家查看。
3、由於公司是企業域認證,所以需要先認證,然後通過webbrower模擬手動操作。
參考資料如下
4、給webBrowser設置網站地址
webBrowser1.Source = new Uri(txtUrl.Text);
然後開啟監控線程
Thread t1 = new Thread(new ThreadStart(Start)) { IsBackground = true };
t1.Start();
start的實現如下
#region 線程入口方法 /// <summary> /// 線程入口方法 /// </summary> public void Start() { this.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate() { btnStart.IsEnabled = false; lblStart.Content = "運行中......"; }); while (true) { DakaType dakaType = DakaType.未知; this.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate() { webBrowser1.Source = new Uri(txtUrl.Text); }); Thread.Sleep(TimeSpan.FromSeconds(10)); this.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate() { if (DateTime.Now.Hour == 8 && DateTime.Now.Minute > 30) { dakaType = DakaType.上班; mshtml.IHTMLDocument2 document1 = (mshtml.IHTMLDocument2)webBrowser1.Document; mshtml.IHTMLElement 上班 = (mshtml.IHTMLElement)document1.all.item("amGoUnite", 0); if (上班 != null) { 上班.click(); } } if (DateTime.Now.Hour == 18) { dakaType = DakaType.下班; mshtml.IHTMLDocument2 document = (mshtml.IHTMLDocument2)webBrowser1.Document; mshtml.IHTMLElement 下班 = (mshtml.IHTMLElement)document.all.item("pmBackHome", 0); if (下班 != null) { 下班.click(); } } }); if (dakaType == DakaType.上班) { Thread.Sleep(TimeSpan.FromMinutes(1)); } else if (dakaType == DakaType.下班) { Thread.Sleep(TimeSpan.FromMinutes(20)); } else { Thread.Sleep(TimeSpan.FromMinutes(10)); } } } #endregion
代碼講解
mshtml.IHTMLDocument2 document = (mshtml.IHTMLDocument2)webBrowser1.Document; mshtml.IHTMLElement 下班 = (mshtml.IHTMLElement)document.all.item("pmBackHome", 0);
在頁面上找到下班的按鈕的name為pmBackHome的按鈕,然後點擊
if (下班 != null)
{
下班.click();
}
設置每天的八點半以後上班打卡以及六點以後打卡。
網站截圖
程式啟動界面,需要輸入域賬號和密碼,點擊開始
登陸以後的界面
點擊【開始】按鈕
然後程式就開啟了,把他放到伺服器上,大功告成。