2011-12-09 105 views
1

我正試圖抓取應用程序中特定x,y位置的屏幕截圖。有沒有辦法在Process對象中獲取正在運行的應用程序,然後獲取它的維度?獲取正在運行的進程'dimensions

喜歡的東西:

Process[] processlist = Process.GetProcesses(); 
foreach (Process proc in processlist) 
{ 
Console.WriteLine("Process: {0} ID: {1}", proc.Width, proc.Height); 
} 
+1

如果有問題的進程打開了多個窗口,您會發生什麼? –

回答

5

可能有其他方法可以做到這一點,但這裏有一個快速的高層次的解決方案:

  1. 讓主窗口句柄(Process.MainWindowHandle)。
  2. 使用Win32 API函數GetWindowRect

answer的SO問題表明得到窗口的大小,然後將其設置獲取窗口的高度。

編輯: 我意識到這個答案假設過程只有一個窗口。這個SO question/answer(s)描述了獲得一個過程的所有窗口。

相關問題