获取正在运行的流程维度

时间:2011-12-09 13:33:23

标签: c# .net process

我正在尝试抓取应用程序中特定x,y位置的屏幕截图。有没有办法在Process对象中运行应用程序,然后获取它的维度?

类似的东西:

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

1 个答案:

答案 0 :(得分:6)

可能有其他方法可以做到这一点,但这是一个快速的高级解决方案:

  1. 获取主窗口句柄(Process.MainWindowHandle)。
  2. 使用win32 API函数GetWindowRect
  3. 获取窗口高度

    answer到SO问题显示获取窗口大小然后进行设置。

    编辑: 我意识到这个答案假定该过程只有一个窗口。这个SO question/answer(s)描述了获取进程的所有窗口。