【问题标题】:Get a running process' dimensions获取正在运行的进程的维度
【发布时间】:2012-01-16 18:54:54
【问题描述】:

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

类似:

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

【问题讨论】:

  • 如果有问题的进程打开了多个窗口,您期望会发生什么?

标签: c# .net process


【解决方案1】:

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

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

这个answer 到一个 SO 问题显示获取窗口大小然后设置它。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    相关资源
    最近更新 更多