自从我做了任何节目以来已经有一段时间了。我正在研究代码以最大化和最小化其他应用程序。所以我找到了一些基本的东西,这就是我所拥有的东西,稍微修改了一下。它希望我生成一些我做过的FindWindow方法。现在一切都很好看,我试着运行它,收到消息。不知道从哪里开始。我发现它的原始帖子没有提到这一点。
private const int SW_SHOWNORMAL = 1;
private const int SW_SHOWMINIMIZED = 2;
private const int SW_SHOWMAXIMIZED = 3;
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
static void Main(string[] args)
{
// retrieve Notepad main window handle
IntPtr hWnd = FindWindow("Notepad", "Untitled - Notepad");
if (!hWnd.Equals(IntPtr.Zero))
{
// SW_SHOWMAXIMIZED to maximize the window
// SW_SHOWMINIMIZED to minimize the window
// SW_SHOWNORMAL to make the window be normal size
ShowWindowAsync(hWnd, SW_SHOWMAXIMIZED);
}
}
private static IntPtr FindWindow(string p, string p_2)
{
throw new NotImplementedException();
}
答案 0 :(得分:1)
首先,使用方法FindWindow()
,当一个方法有一个throw时,你需要在调用它的方法中捕获它Main()
。
现在NotImplementedException是一个类,在这里我发布了继承层次结构
如说错误,你只需要实现方法并删除de line:`throw new NotImplementedException();
最后我发布了一个实现选项,只需要窗口应用程序中的标题。
public static IntPtr FindWindow(string titleName)
{
Process[] pros = Process.GetProcesses(".");
foreach (Process p in pros)
if (p.MainWindowTitle.ToUpper().Contains(titleName.ToUpper()))
return p.MainWindowHandle;
return new IntPtr();
}
顺便说一句,here是关于最大化/最小化其他应用程序的另一个问题