a949846509 2017-08-10 07:16 采纳率: 0%
浏览 1378

c#主接入口修改Form窗口参数(Visible)

新学c#小白,制作一个软件娱乐娱乐。主接口处验证多开后想让程序从托盘处弹出,需要修改Form窗口visible属性。可是怎么写也报错。求助~~

     namespace 定时关机小程序
    {
     class Program
     {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        public void Main()
        {
            Process instance = RunningInstance();

            if (instance == null)
            {

                Application.EnableVisualStyles();

                Application.SetCompatibleTextRenderingDefault(false);

                Application.Run(new Form1());

            }

            else
            {

                HandleRunningInstance(instance);

            }

        }
        public  Process RunningInstance()
        {
            Process current = Process.GetCurrentProcess();
            Process[] processes = Process.GetProcessesByName(current.ProcessName);
            //遍历正在有相同名字运行的进程
            foreach (Process process in processes)
            {
                //忽略现有的进程
                if (process.Id != current.Id)
                {
                    //确保进程从EXE文件运行
                    if (process.MainModule.FileName == current.MainModule.FileName)
                    {
                        // 返回另一个进程实例
                        return process;
                    }
                }
            }
            //没有其它的进程,返回Null
            return null;
        }
        public void HandleRunningInstance(Process instance)
        {
           IntPtr mainFormHandle = instance.MainWindowHandle;
           if (mainFormHandle != IntPtr.Zero)
           {
               ShowWindowAsync(mainFormHandle, 1);
               SetForegroundWindow(mainFormHandle);
        //想写在这里修改窗口visible属性~~~~~!!!!!!!
           }

        }


        [DllImport("User32.dll ")]

        private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);

        [DllImport("User32.dll ")]

        private static extern bool SetForegroundWindow(IntPtr hWnd);

        private const int WS_SHOWNORMAL = 1;
     }
    }
  • 写回答

2条回答 默认 最新

  • threenewbee 2017-08-10 15:47
    关注

    ShowWindow(窗口, SW_HIDE); //隐藏
    ShowWindow(窗口, SW_SHOW); //显示

    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。