gezhu1212 2021-11-30 16:27 采纳率: 64.4%
浏览 12
已结题

C#winform程序启动时,其他程序全部最小化到任务栏

程序启动时,把其他的程序最小化到任务栏,但是目前的效果是最小化了窗口,并不在任务栏……如图所示为最小化窗口的结果

img

        //const int SW_SHOWMINNOACTIVE = 7;
        const int SW_HIDE = 7;
        // Hide other windows 


        [DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

        static void MinimizeWindow(IntPtr handle)
        {
            ShowWindow(handle, SW_HIDE);
        }


        public static void MinimizeAll()
        {
            System.Diagnostics.Process thisProcess = System.Diagnostics.Process.GetCurrentProcess();
            System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();
            try
            {
                foreach (System.Diagnostics.Process process in processes)
                {
                    if (process == thisProcess) continue;
                    System.IntPtr handle = process.MainWindowHandle;
                    if (handle == System.IntPtr.Zero) continue;
                    MinimizeWindow(handle);
                }
            }
            catch (Exception ex)
            {
                //Console.WriteLine(ex.Message.ToString());
            }
        }

我试过把7改成0,结果最小化的窗口是没了,但是任务栏也跟着不见了,是这个方法本身就无法实现我要的功能,还是ShowWindow的第二参数改成其他数?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月8日
    • 创建了问题 11月30日

    悬赏问题

    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料