c# - 获取正在运行的进程的维度

标签 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. 获取主窗口句柄 ( Process.MainWindowHandle )。
  2. 使用 win32 API 函数获取窗口高度 GetWindowRect

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

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

关于c# - 获取正在运行的进程的维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8446213/

相关文章:

c# - 远程交易

c# - 使用 Mongo C# 驱动程序序列化不可变值类型

c# - XmlSerializer Utf-8编码

windows-7 - 进程未结束时该怎么办

c - 获取过程信息的有效方法?

c# - 为什么我无法使用 Azure 服务总线队列获取队列消息?

c# - 使用内置 xml 序列化机制时对 xml 标签进行语言识别

c# - 使用 foreach 循环检索 GroupBox 中的 TextBox

c# - 复杂对象的JSON解析

bash - 向后台进程发送命令