0

我正在使用 c# .net 4.5;我的问题是如何获得 cmd 位置。例如,为了获得我自己的表单位置 this.Location,我得到了 x 和 y。对于正在运行但与我自己的应用程序无关的应用程序,我怎么能做到这一点?我知道这是可能的,因为 Windows 8 使用类似的东西。:)

感谢您的帮助...

4

1 回答 1

3

乍一看,您的问题似乎是您想要应用程序 exe 的位置而不是窗口的位置。如果你想要窗口的位置,你需要使用 API。

[StructLayout(LayoutKind.Sequential)]
public struct Rect
{
    public int left;
    public int top;
    public int right;
    public int bottom;
}

[DllImport("user32.dll")]
public static extern IntPtr GetWindowRect(IntPtr hWnd, ref Rect rect

然后像这样使用它:

var proc = Process.GetProcessesByName(proccessName)[0];   
Rect rect = new Rect();
GetWindowRect(proc.MainWindowHandle, ref rect);

希望能帮助到你

有关更多信息,请查看MSDNpInvoke

于 2013-04-13T18:19:14.140 回答