小编m12*_*m12的帖子

如何在 C# 中最小化/恢复窗口

我正在尝试最小化标题位于string p(由用户在运行时指定)中的窗口。该窗口保证是主窗口,因为用户只能从主窗口中进行选择。我尝试过 showCmd、flags 以及两者的混合,但每次,无论窗口是否最小化,我都会显示一个声明 的对话框"Minimizing"。我该如何修复它?

private void button1_Click(object sender, EventArgs e)
{
    foreach (Process proc in Process.GetProcesses())
    {
        if (proc.MainWindowTitle.Contains(p))
        {
            IntPtr handle = proc.Handle;
            Program.WINDOWPLACEMENT wp = new Program.WINDOWPLACEMENT();
            Program.GetWindowPlacement(handle, ref wp);
            if ((wp.showCmd & 2) == 2)
            {
                wp.showCmd = 9;
                MessageBox.Show("Restoring");
            }
            else
            {
                wp.showCmd = 2;
                MessageBox.Show("Minimizing");
            }
            wp.length = Marshal.SizeOf(wp);
            Program.SetWindowPlacement(handle, ref wp);
            break;
        }
    }  

}
Run Code Online (Sandbox Code Playgroud)

我用什么作为 p -

string p;
PictureBox i;
bool windowShowing = false;
bool minimized = …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke native

3
推荐指数
1
解决办法
3820
查看次数

标签 统计

c# ×1

native ×1

pinvoke ×1