[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetWindowRect(HandleRef hWnd, out RECT lpRect);
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left; // x position of upper-left corner
public int Top; // y pos
由于需要运行15+年前的应用程序,我希望创建一个watchdog程序,以确保在32位版本的Windows XP Pro上运行16位应用程序,并在必要时启动它。通常我会使用EnumWindows()来查找应用程序的窗口。不幸的是,这对16位应用程序不起作用,或者至少不是很可靠。
假设我完全无法控制应用程序中的代码,我如何才能可靠地检测它是否正在运行?我是用C(而不是C++或C#)编写的。