自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

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

API:EnumWindows,GetWindowText,GetParent,IsWindowVisible.

EnumWindows:枚舉窗口

GetWindowText:取得窗口標題

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

IsWindowVisible:判斷窗體是否可見,用于過濾到不可見窗體。

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. }  

有一個combobox和button,點擊按鈕,將所有窗口列舉顯示在下拉框。接下來的工作就是設置窗體為隱藏。但是有一個缺點

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

【編輯推薦】

  1. Lambda表達式入門實例
  2. 在C++中使用Lambda函數提高代碼性能
  3. 淺談如何使用Lambda表達式做抽象代表
  4. C#中調用Outlook API發(fā)起網絡會議
  5. 理解C#中的Lambda表達式
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-08-28 15:58:54

C#窗體里調用

2009-08-28 16:08:28

C#利用資源文件

2009-08-18 10:30:30

C#枚舉

2009-09-01 18:06:06

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

2009-08-10 14:23:39

C# Setting

2009-08-20 10:10:55

C#透明窗體

2009-08-20 18:30:33

C# ReaderWr

2011-09-21 10:56:31

C#結構

2009-06-16 10:20:05

多繼承C#

2009-09-07 06:07:46

C#窗體設計

2009-08-13 10:42:31

C#窗體拖動事件

2009-09-07 06:31:32

C#窗體移動

2009-09-07 04:19:56

C#窗體事件

2009-09-07 06:48:13

C#透明窗體

2009-08-25 16:16:43

C# oledbcon

2009-08-26 15:46:01

C#匿名類型

2009-08-06 15:30:23

C#類型系統(tǒng)

2009-08-14 17:58:05

C#接口方法

2009-08-26 13:15:38

C#選擇控制

2009-09-02 15:41:21

C# HTTPWebR
點贊
收藏

51CTO技術棧公眾號