我正在尝试抓取应用程序中特定 x、y 位置的屏幕截图。有没有办法在 Process 对象中获取正在运行的应用程序,然后获取它的尺寸?
就像是:
Process[] processlist = Process.GetProcesses();
foreach (Process proc in processlist)
{
Console.WriteLine("Process: {0} ID: {1}", proc.Width, proc.Height);
}
可能还有其他方法可以做到这一点,但这里有一个快速的高级解决方案:
- 获取主窗口句柄(Process.MainWindowHandle http://msdn.microsoft.com/en-us/library/system.diagnostics.process.mainwindowhandle.aspx).
- 使用win32 API函数获取窗口高度获取窗口矩形 http://msdn.microsoft.com/en-us/library/windows/desktop/ms633519%28v=vs.85%29.aspx
This answer https://stackoverflow.com/a/6485074/52136SO问题显示获取窗口大小然后设置它。
编辑:
我意识到这个答案假设该过程只有一个窗口。这个SO问题/答案 https://stackoverflow.com/questions/79111/net-c-getting-child-windows-when-you-only-have-a-process-handle-or-pid描述获取进程的所有窗口。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)