WPF版公司的自動簽到程序


1、外包公司要求早上簽到,就寫了一個自動打卡程序。

2、一直都想寫這個程序,可是一直沒有思路,知道有個軟件公司找我做自動答題程序,於是自動打卡程序才應運而生。未來可以將自動答題程序開源工大家查看。

3、由於公司是企業域認證,所以需要先認證,然后通過webbrower模擬手動操作。

參考資料如下

C#網頁表單自動填寫實現原理

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();
}

設置每天的八點半以后上班打卡以及六點以后打卡。

網站截圖

程序啟動界面,需要輸入域賬號和密碼,點擊開始

 

登陸以后的界面

 

點擊【開始】按鈕

 

然后程序就開啟了,把他放到服務器上,大功告成。

下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM