精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

自己動手寫工具----簽到器(升級版)

開發 后端
上一篇中基本實現了簡單的簽到任務,但是不夠靈活。在上一篇自己動手寫工具----簽到器的結尾中,我設想了幾個新增功能來提高工具的靈活程度,下面把新增功能點列出來看看:

一、前面的話

上一篇中基本實現了簡單的簽到任務,但是不夠靈活。在上一篇自己動手寫工具----簽到器的結尾中,我設想了幾個新增功能來提高工具的靈活程度,下面把新增功能點列出來看看:

(1)新增其他的進程任務;

(2)任務按照進程進行分類:用IE就是執行IE的任務,與其他(如資源管理器等)無關;

(3)每執行完一個任務關閉任務窗口;

(4)對簽到性質的任務進行”已簽到“過濾;

(5)實現執行的任務列表自定義;

(6)另外實現任務的可視化;

還是先來看看效果圖:

二、簽到器的改進

在上一個版本中,(自己動手寫工具----簽到器),我們可以自己來添加任務,但是有個最重要的問題,那就是任務列表的可視化。上一版本中,只是針對簡單的幾個IE任務,所以比較簡單,但是隨著任務越來越多,有的時候只想執行其中的一些任務而不是所有,這就不可避免地要對任務進行分類處理,這樣就可以針對自己選擇的任務進行批量執行。就是上面圖中左側的部分啦~~通過勾選需要執行的任務,點擊“確定”按鈕,你就可以看著任務被一個一個地執行啦~\(≧▽≦)/~

在執行的過程中,如果任務過多就會占用過多的資源(如開啟多個IE瀏覽器進程,上一個版本就是醬紫的... ...),為了解決這個問題,對代碼進行小小的優化,每次執行完成一個任務,就會關閉該進程,但是這里有個疑問,希望大神幫忙支支招兒,感激不盡啊~~~~
什么問題呢?就是如果執行任務之前,你已經打開了一個IE進程,那么在啟動執行任務后,隨著該任務進程的關閉會連同之前的IE進程Kill掉,所以這是個BUG,查了一下資料,大概的意思是獲取進程的某個句柄后關閉即可,本人還沒有測試,希望大神給指個明路~~

下面是為了避免占用過多的系統資源,而進行改進后的執行代碼:

  1. //關閉進程 
  2.         private void KillProcess(string processName) 
  3.         { 
  4.             Process proc = new Process(); 
  5.             foreach (Process item in Process.GetProcessesByName(processName)) 
  6.             { 
  7.                 if (!item.CloseMainWindow()) 
  8.                 { 
  9.                     item.Kill(); 
  10.                 } 
  11.             } 
  12.         } 

  1. //執行任務 
  2.         public void ExcuteTask(TaskModel task) 
  3.         { 
  4.             int processID; 
  5.             ProcessStartInfo ps = new ProcessStartInfo(task.Application, task.Url); 
  6.             ps.WindowStyle = ProcessWindowStyle.Maximized; 
  7.             Process myProc =Process.Start(ps); 
  8.             processID = myProc.Id; 
  9.             Thread.Sleep((int)numericUpDown2.Value * BASENUM); 
  10.             //設置鼠標位置 
  11.             MouseEvents.SetCursorPosition(task.PositionX, task.PositionY); 
  12.             //模擬鼠標雙擊 
  13.             MouseEvents.MouseDbClick(); 
  14.             Thread.Sleep(1000); 
  15.             KillProcess(task.Application); 
  16.         } 

既然添加了任務分類信息,那么數據的結構就要發生變化了,每個任務多了一個屬性,就是所屬分類:

  1. private string typeName; 
  2.         private int typeID; 
  3.         //任務分類名稱 
  4.         public string TypeName 
  5.         { 
  6.             get { return typeName; } 
  7.             set { typeName = value; } 
  8.         } 
  9.  
  10.         //任務ID 
  11.         public int TypeID 
  12.         { 
  13.             get { return typeID; } 
  14.             set { typeID = value; } 
  15.         } 

數據結構:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <tasks> 
  3.   <task> 
  4.     <taskType>         
  5.         <taskTypeName>Internet Explore</taskTypeName> 
  6.     </taskType> 
  7.     <taskName>百度知道</taskName> 
  8.     <application>iexplore.exe</application> 
  9.     <param>http://zhidao.baidu.com/</param> 
  10.     <position> 
  11.       <x>1223</x> 
  12.       <y>298</y> 
  13.     </position> 
  14.   </task> 
  15.   <task> 
  16.     <taskType>         
  17.         <taskTypeName>Internet Explore</taskTypeName> 
  18.     </taskType> 
  19.     <taskName>百度云盤</taskName> 
  20.     <application>iexplore.exe</application> 
  21.     <param>http://www.baiduyun.me/forum.php</param> 
  22.     <position> 
  23.       <x>1561</x> 
  24.       <y>144</y> 
  25.     </position> 
  26.   </task> 
  27. </tasks> 

還有一個地方想說一下,就是左側的任務列表,本來打算用ListView實現,但是效果我不是很滿意,所以就改成了現在的樣子。至于標簽,那只不過是自定義的控件,我對重寫控件很感興趣,本著學習和記錄的目的,打算把這一塊記錄下來(貌似有點跑題呀~)。在擼碼的時候,發現Label控件的大小不是很好控制,其實我的需求是Label既包含了AutoSize屬性,還能夠給checkbox留下一點空間,就是說checkbox的位置始終緊貼在Label的右內側,文字長度改變時,整個控件長度也發生變化,但是checkbox的相對位置是不變的~~結果糾結了,哎... ...無奈只能用固定的長度了,四個漢字的長度,如果有大神知道怎么搞定這個需求,望不吝賜教~~下面貼出自定義控件代碼(大神繞道...)

新建用戶控件,并重寫控件的OnPaint方法:

  1. protected override void OnPaint(PaintEventArgs e) 
  2.         { 
  3.             Graphics g = e.Graphics; 
  4.             int x = this.Width; 
  5.             int y = this.Height; 
  6.             Point leftTop = new Point(0, 0); 
  7.             Point rightTop = new Point(x - 1, 0); 
  8.             Point leftBottom = new Point(0, y - 1); 
  9.             Point rightBottom = new Point(x - 1, y - 1); 
  10.  
  11.             g.DrawLine(new Pen(Color.White), leftTop, rightTop); 
  12.             g.DrawLine(new Pen(Color.White), leftBottom, rightBottom); 
  13.             g.DrawLine(new Pen(Color.White), leftTop, leftBottom); 
  14.             g.DrawLine(new Pen(Color.White), rightTop, rightBottom); 
  15.             //畫上邊緣 
  16.             for (int i = 0; i < x - 1; i += 3) 
  17.             { 
  18.                 g.FillRectangle(new SolidBrush(Color.Black), new Rectangle(i, 0, 2, 1)); 
  19.             } 
  20.  
  21.             //畫下邊緣 
  22.             for (int m = 0; m < x - 1; m += 3) 
  23.             { 
  24.                 g.FillRectangle(new SolidBrush(Color.Black), new Rectangle(m, y - 1, 2, 1)); 
  25.             } 
  26.  
  27.             //畫左邊緣 
  28.             for (int i = 0; i < y - 1; i += 3) 
  29.             { 
  30.                 g.FillRectangle(new SolidBrush(Color.Black), new Rectangle(0, i, 1, 2)); 
  31.             } 
  32.  
  33.             //畫右邊緣 
  34.             for (int i = 0; i < y - 1; i += 3) 
  35.             { 
  36.                 g.FillRectangle(new SolidBrush(Color.Black), new Rectangle(x - 1, i, 1, 2)); 
  37.             } 
  38.             base.OnPaint(e); 
  39.         } 

再給組合控件添加一些屬性,給外部調用:

  1. private bool labelChecked = false
  2.         private string labelText; 
  3.         public bool LabelChecked 
  4.         { 
  5.             get 
  6.             { 
  7.                 return ck.Checked; 
  8.             } 
  9.  
  10.             set 
  11.             { 
  12.                 ck.Checked = value; 
  13.             } 
  14.         } 
  15.  
  16.         public string LabelText 
  17.         { 
  18.             get 
  19.             { 
  20.                 if(!String.IsNullOrEmpty(lb.Text)) 
  21.                     return lb.Text; 
  22.                 return "輸入標簽"
  23.             } 
  24.  
  25.             set 
  26.             { 
  27.                 lb.Text = value; 
  28.             } 
  29.         } 

那么這個組合控件就完成了,生成后可以在右側屬性欄為其賦值,直接使用就可以啦~~~

三、結語

本來想在上一篇完成后緊接著更新這一篇,但是時間有限,事情也很多,所以就推遲到現在才完成(其實還沒有完成,最上面劃刪除線的啷個~~)。不得不承認,在做的過程中總會遇見這樣那樣或多或少的問題,有些問題看起來很簡單,但是做起來是有些困難的,克服了這些困難也就成功了,也就有經驗來處理類似的問題了,所以別問那些大牛是怎么那么牛的~~那是碼出來的。所以,騷年,敲代碼吧~~讓困難來得更猛烈些吧~~~~~

下一步我準備繼續完善這個簽到器(其實功能擴展多了,就不叫這個名字了... ...)。另外,有些園友想要源碼,我會盡快整理好發布到Github上~~多謝大家的支持!!!

如果覺得好玩兒,就幫贊一個唄~\(≧▽≦)/~

責任編輯:張偉 來源: 博客園
相關推薦

2015-07-23 14:53:50

貝葉斯分類器

2020-09-29 12:13:46

SQL引擎底層

2017-03-02 13:31:02

監控系統

2009-12-02 10:08:28

阿爾法路由器升級

2018-02-07 10:46:20

數據存儲

2018-09-12 10:58:11

NBA數據存儲

2011-08-31 13:35:50

PhotovinePiictu照片分享

2013-09-11 10:28:10

VMwareWorkstation

2011-10-27 09:45:40

諾基亞增強現實Live View

2009-06-01 21:29:03

Java升級Vista

2011-05-11 08:46:54

HoneycombAndroid谷歌

2015-06-02 09:51:40

iOS網絡請求封裝接口

2015-06-02 10:24:43

iOS網絡請求降低耦合

2009-12-03 18:52:40

FAST路由器升級

2023-02-23 15:29:21

BitTorrent開源

2011-04-18 17:25:34

Symbian Ann諾基亞

2012-05-08 10:37:11

谷歌BigQuery

2011-06-27 09:02:30

Debian 6.0Debian 6.0.

2023-12-15 10:14:42

數據庫select語句

2009-08-25 09:17:04

Windows 7升級版完全版
點贊
收藏

51CTO技術棧公眾號

色综合.com| 久久99久久| 亚洲麻豆一区| 亚洲欧美日韩网| www.桃色.com| 在线免费看h| 亚洲人成网站精品片在线观看| av日韩中文字幕| 99久久久无码国产精品免费蜜柚 | 精品欧美色视频网站在线观看| 国产成人在线电影| 国产精品久久久久久搜索| 国产大片免费看| 激情婷婷综合| 亚洲国产91色在线| 久久久久xxxx| 午夜欧美激情| 洋洋av久久久久久久一区| 欧美深深色噜噜狠狠yyy| 国产高清免费观看| 奇米影视在线99精品| 国语自产偷拍精品视频偷 | 蜜桃视频污在线观看| 日本三级亚洲精品| 51精品在线观看| 国产精品久久久久久久精| 久久99高清| 亚洲第一网站男人都懂| 一级黄色片在线免费观看| 国产另类xxxxhd高清| 午夜私人影院久久久久| 中文字幕日韩精品一区二区| 国产福利免费在线观看| eeuss影院一区二区三区| 91在线视频九色| 最近中文字幕av| 国产女优一区| 98视频在线噜噜噜国产| 久久久久久久久久久久国产| 香蕉精品视频在线观看| 上原亚衣av一区二区三区| 中文精品在线观看| 日韩精品免费一区二区夜夜嗨 | 亚洲热在线视频| 精品久久福利| 欧美午夜一区二区| 国产精品乱码久久久久| 另类激情视频| 日韩欧美精品网站| 成年人免费在线播放| 538在线视频| 亚洲成人动漫在线观看| 丁香六月激情网| 国产一二区在线观看| 中文字幕中文字幕中文字幕亚洲无线| 五码日韩精品一区二区三区视频| 欧美巨乳在线| 国产三级精品三级| 午夜精品一区二区三区在线观看| 精品视频三区| 国产精品视频你懂的| 亚洲成色最大综合在线| 香蕉视频在线看| 中文字幕中文字幕在线一区 | 亚洲激情视频| 7777kkkk成人观看| 国产美女激情视频| 日韩av一区二区在线影视| 国产精品久久久久不卡| 在线观看国产黄| 国产一区二区三区四区五区美女| 91九色在线观看| 国模私拍视频在线| 久久影音资源网| 亚洲欧美在线网| 国产人成网在线播放va免费| 一区二区三区资源| 成 年 人 黄 色 大 片大 全| 一本大道色婷婷在线| 欧洲精品一区二区| 国产5g成人5g天天爽| 草莓视频一区二区三区| 亚洲男人天堂古典| 中国一级片在线观看| 亚洲午夜极品| 国产成人高清激情视频在线观看| 亚洲天堂中文在线| 成人av在线网站| 日韩电影大全在线观看| 哥也色在线视频| 精品久久久久久中文字幕大豆网| 尤蜜粉嫩av国产一区二区三区| 四虎影视精品永久在线观看| 亚洲成人av在线播放| 五月天精品视频| 911精品美国片911久久久| 午夜精品一区二区三区在线视 | 91精品国产综合久久福利软件| 亚洲成年人在线观看| 精品视频久久| 久久久久亚洲精品| 中文字幕精品无码亚| 成人妖精视频yjsp地址| 视频在线一区二区三区| 蜜臀av在线| 欧美亚洲综合在线| 性久久久久久久久久久| 99精品美女| 欧美自拍视频在线观看| 国产精品怡红院| 久久亚洲欧美国产精品乐播| 欧美黄色免费网址| 四虎精品一区二区免费| 亚洲日本欧美中文幕| 久久中文字幕无码| 久久99精品国产麻豆不卡| 蜜桃av噜噜一区二区三区| 在线免费观看污| 欧美伊人久久久久久久久影院| 911亚洲精选| 99久久夜色精品国产亚洲96| 日本精品一区二区三区在线| 蜜臀av在线观看| 亚洲激情图片小说视频| 亚欧美在线观看| 亚洲人成伊人成综合图片| 欧美激情综合色| a天堂视频在线| 国产精品激情偷乱一区二区∴| www黄色av| 国产精品香蕉| 欧美精品videosex性欧美| 国产精品无码AV| 中文字幕中文字幕在线一区 | 国产精品888| 伊人久久大香线蕉综合75| 婷婷激情一区| 亚洲精品自拍偷拍| 天天操天天爽天天干| 国产91精品精华液一区二区三区 | 3d动漫精品啪啪一区二区下载| 国产精品激情| 国产精品二区在线| 四季久久免费一区二区三区四区| 在线电影国产精品| 日韩三级久久久| 日本不卡123| 日韩欧美亚洲精品| 国产一区二区三区朝在线观看| 国产视频精品久久久| 天天插天天操天天干| 不卡高清视频专区| 国产二级片在线观看| 精品一区二区男人吃奶| 7777精品久久久久久| 欧美中文在线| 日本道色综合久久| 国产精品免费无码| 久久黄色级2电影| 中文字幕不卡每日更新1区2区| 99re8精品视频在线观看| 欧美成人在线免费| 高清一区二区三区四区| 性做久久久久久| 右手影院亚洲欧美| 日本成人在线一区| 裸体裸乳免费看| 亚洲伊人影院| 98精品国产自产在线观看| 美丽的姑娘在线观看免费动漫| 欧美综合一区二区| 日韩欧美123区| 国产 日韩 欧美大片| 好吊妞无缓冲视频观看| 国产成人一区二区三区影院| 国产美女精品视频免费观看| 中文字幕在线观看播放| 亚洲国产欧美在线成人app| 久久青青草视频| 欧美激情综合五月色丁香 | 91成人app| 欧美疯狂做受xxxx高潮| 日本不卡视频一区二区| 欧美日韩黄色影视| 国产亚洲精品av| 久久精品一区二区| 国产亚洲色婷婷久久| 一区二区三区国产盗摄| 一区二区三区欧美成人| 国产福利资源一区| 国产精品久久久久久久久久久新郎| 免费高清完整在线观看| 亚洲国产精品免费| 一区二区自拍偷拍| 亚洲成人激情自拍| 最新日韩免费视频| av成人免费在线观看| 色呦色呦色精品| 午夜亚洲一区| 欧美性受黑人性爽| 国产精品羞羞答答在线观看| 97超碰最新| 欧美视频第一| 2019最新中文字幕| а√天堂在线官网| 国产一区二区动漫| 日本精品久久久久| 欧美一区二区三区日韩视频| 少妇高潮av久久久久久| 亚洲一区二区三区视频在线| 老司机福利在线观看| 成人av动漫在线| 99九九精品视频| 日本欧美韩国一区三区| av免费观看网| 中文字幕一区二区av| 日韩欧美手机在线| 婷婷精品视频| 国产精品综合久久久久久| 一区二区三区日本视频| 日本一区二区在线播放| 成人免费高清观看| 久久福利视频导航| 在线看黄色av| 亚洲午夜色婷婷在线| 成人无码一区二区三区| 欧美一级国产精品| 91久久久久久久久久久久| 一本大道久久a久久精品综合| 国产一级二级三级| 亚洲精品乱码久久久久久日本蜜臀| 日韩女同一区二区三区| 久久综合九色综合97_久久久 | 久久久久久毛片| 污污污www精品国产网站| 国产福利一区二区三区视频| www.cao超碰| 精品午夜久久福利影院| 香蕉视频禁止18| 日韩**一区毛片| 日韩一级片播放| 日韩 欧美一区二区三区| 日本成人黄色网| 玖玖在线精品| 欧美激情精品久久久久久小说| 亚洲一区不卡| 欧洲黄色一级视频| 亚洲深爱激情| 国产美女无遮挡网站| 亚洲一区欧美二区| 日韩中文字幕二区| 日韩精品免费专区| wwwwxxxx日韩| 久久成人免费网站| 永久av免费在线观看| 国产一区二区三区不卡在线观看 | 99精品女人在线观看免费视频| 国产精品一区久久久| 粉嫩av国产一区二区三区| 92国产精品视频| y111111国产精品久久久| 国产伦理一区二区三区| 亚洲区小说区图片区qvod按摩| 热re99久久精品国99热蜜月| 奇米亚洲欧美| 亚洲乱码一区二区三区三上悠亚| 久久在线视频免费观看| 亚洲高潮无码久久| 亚洲精品欧美| 无码人妻丰满熟妇区毛片| 蜜桃视频在线观看一区| 三级网站免费看| 99re这里只有精品首页| 色婷婷在线影院| 中文字幕不卡在线| 青娱乐国产在线| 狠狠色狠色综合曰曰| 久久久久久无码精品大片| 欧美日本免费一区二区三区| 亚洲a视频在线| 国产午夜精品久久久| 中文字幕日本在线| 久久99精品久久久久久噜噜| 福利影院在线看| 国产精品视频区1| 中文字幕一区图| 日韩av不卡播放| 欧美一区二区三区久久精品| 黄色网页免费在线观看| 麻豆极品一区二区三区| 97精品人人妻人人| 亚洲国产高清不卡| 久久久精品国产sm调教网站| 在线视频中文字幕一区二区| 国产高中女学生第一次| 亚洲欧美国产va在线影院| 国产美女福利在线| 欧美亚洲成人网| 国产一区二区三区黄网站| 精品国产一区二区三| 性欧美欧美巨大69| 99视频精品免费| 成人性视频免费网站| 中国1级黄色片| 高跟丝袜一区二区三区| av中文字幕在线免费观看| 国产亚洲免费的视频看| 男人天堂亚洲天堂| 国产在线拍偷自揄拍精品| 免费看成人哺乳视频网站| 超碰人人爱人人| 免费成人在线网站| 我和岳m愉情xxxⅹ视频| 亚洲一区二三区| 91国在线视频| 亚洲香蕉成人av网站在线观看| 免费污视频在线观看| 国产在线精品自拍| 欧美一级精品| aaaaaa亚洲| 成人网在线播放| 欧美色图亚洲天堂| 欧美日韩高清一区二区不卡| 免费黄色片在线观看| 97久久国产精品| 97久久精品| 在线观看av的网址| 精品一区二区三区视频| 中文字幕精品亚洲| 欧美性受xxxx黑人xyx性爽| 三级黄视频在线观看| 97高清免费视频| 成人直播在线观看| 加勒比海盗1在线观看免费国语版| 蜜臀99久久精品久久久久久软件| 四虎国产精品成人免费入口| 欧美午夜激情视频| 神马亚洲视频| 国产91精品久久久久久| 任你弄精品视频免费观看| 日本在线xxx| av午夜一区麻豆| 日韩成人免费在线视频| 欧美精品一区二区三区蜜桃| 亚洲91av| 国产精品有限公司| 国产精品综合色区在线观看| 亚洲一区二区三区四区五区六区| 亚洲sss视频在线视频| 黄色av免费观看| 亚洲3p在线观看| 亚洲图片久久| www.天天射.com| 国产精品久久久久久久第一福利| 中文字字幕在线中文乱码| 久久精品视频在线播放| 日韩免费高清视频网站| 国产freexxxx性播放麻豆 | 久久国产精品一区二区三区 | xxww在线观看| 中文字幕在线不卡一区二区三区| 国产精品一级二级| 欧美日韩高清在线观看| 极品一区美女高清| 免费裸体美女网站| 中文字幕在线观看不卡| 午夜精品久久久久久久第一页按摩| 久久久久亚洲精品国产| 免费欧美视频| 在线观看日本一区二区| 亚洲午夜在线电影| 亚洲欧美日韩成人在线| 国产精品成久久久久三级 | 久久天天躁狠狠躁夜夜爽蜜月| 欧美成年网站| ww国产内射精品后入国产| 国产欧美一二三区| 国产av一区二区三区| 亚州国产精品久久久| 激情婷婷综合| 一级黄色大片免费看| 岛国av在线不卡| 日本在线免费中文字幕| 岛国视频一区免费观看| 久热精品在线| av激情在线观看| 亚洲精品小视频在线观看| 日韩欧乱色一区二区三区在线| 欧美久久久久久久久久久久久久| 久久精品视频在线免费观看| 亚洲国产无线乱码在线观看| 久久久久久久久电影| 国产精品一线天粉嫩av| 日韩精品在线播放视频| 欧美日韩一区二区免费视频| 成人毛片av在线| 日本一区二区三区视频在线观看| 国产ts人妖一区二区| 国产精品51麻豆cm传媒| 午夜精品久久17c|