偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談如何利用C#枚舉所有的窗體

開(kāi)發(fā) 后端
最近在玩一個(gè)游戲,發(fā)現(xiàn)開(kāi)著游戲掛機(jī)比較礙事,因此希望做一個(gè)程序可以將該游戲隱藏。當(dāng)時(shí)想到兩種方法,這里為大家講解一下C#枚舉所有的窗體。

C#枚舉所有的窗體的兩種方法

1、直接查找游戲窗口,找到后作處理。

2、C#枚舉所有窗口,列表顯示,然后再處理。

我這里按第二種方式做。首先是一些準(zhǔn)備工作,如,了解如何調(diào)用系統(tǒng)API,見(jiàn)以前的博文。枚舉窗口要用的一些

API:EnumWindows,GetWindowText,GetParent,IsWindowVisible.

EnumWindows:枚舉窗口

GetWindowText:取得窗口標(biāo)題

GetParent:取得當(dāng)前窗體的父窗體(非常重要,用于判斷是否為頂級(jí)窗體)

IsWindowVisible:判斷窗體是否可見(jiàn),用于過(guò)濾到不可見(jiàn)窗體。

C#枚舉代碼如下:

  1. namespaceHideProcess  
  2. {  
  3. publicdelegateboolCallBack(inthwnd,inty);  
  4. publicpartialclassForm1:Form  
  5. {  
  6.  
  7.  
  8. [DllImport("user32.dll")]  
  9.  
  10. publicstaticexternintEnumWindows(CallBackx,inty);  
  11. [DllImport("user32")]  
  12. publicstaticexternintGetWindowText(inthwnd,StringBuilderlptrString,intnMaxCount);  
  13. [DllImport("user32")]  
  14. publicstaticexternintGetParent(inthwnd);  
  15. [DllImport("user32")]  
  16. publicstaticexternintIsWindowVisible(inthwnd);  
  17.  
  18. publicboolReport(inthwnd,intlParam)  
  19. {  
  20. intpHwnd;  
  21. pHwnd=GetParent(hwnd);  
  22.  
  23. if(pHwnd==0&&IsWindowVisible(hwnd)==1)  
  24. {  
  25. StringBuildersb=newStringBuilder(512);  
  26.  
  27. GetWindowText(hwnd,sb,sb.Capacity);  
  28. if(sb.Length>0)  
  29. {  
  30. this.comboBox1.Items.Add(sb.ToString());  
  31. }  
  32. }  
  33. returntrue;  
  34. }  
  35. publicForm1()  
  36. {  
  37. InitializeComponent();  
  38. }  
  39.  
  40. privatevoidbutton1_Click(objectsender,EventArgse)  
  41. {  
  42. Process[]ProcArray=Process.GetProcesses();  
  43. comboBox1.Items.Clear();  
  44. EnumWindows(this.Report,0);  
  45. }  
  46. }  

有一個(gè)combobox和button,點(diǎn)擊按鈕,將所有窗口列舉顯示在下拉框。接下來(lái)的工作就是設(shè)置窗體為隱藏。但是有一個(gè)缺點(diǎn)

隱藏后無(wú)法顯示。留待以后解決。利用C#枚舉所有的窗體就講到這里。

【編輯推薦】

  1. Lambda表達(dá)式入門(mén)實(shí)例
  2. 在C++中使用Lambda函數(shù)提高代碼性能
  3. 淺談如何使用Lambda表達(dá)式做抽象代表
  4. C#中調(diào)用Outlook API發(fā)起網(wǎng)絡(luò)會(huì)議
  5. 理解C#中的Lambda表達(dá)式
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2009-08-28 15:58:54

C#窗體里調(diào)用

2009-08-28 16:08:28

C#利用資源文件

2009-08-18 10:30:30

C#枚舉

2009-09-01 18:06:06

c#保存窗體狀態(tài)

2009-06-16 10:20:05

多繼承C#

2011-09-21 10:56:31

C#結(jié)構(gòu)

2009-08-20 18:30:33

C# ReaderWr

2009-08-20 10:10:55

C#透明窗體

2009-08-10 14:23:39

C# Setting

2009-08-26 13:15:38

C#選擇控制

2009-08-20 10:24:52

C#開(kāi)發(fā)WinForm

2009-08-14 17:58:05

C#接口方法

2009-08-25 16:16:43

C# oledbcon

2009-08-26 15:46:01

C#匿名類(lèi)型

2009-09-02 15:41:21

C# HTTPWebR

2009-08-06 15:30:23

C#類(lèi)型系統(tǒng)

2009-08-13 10:42:31

C#窗體拖動(dòng)事件

2009-09-07 06:07:46

C#窗體設(shè)計(jì)

2009-09-07 04:19:56

C#窗體事件

2009-09-07 06:31:32

C#窗體移動(dòng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)