栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

winform激活窗口

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

winform激活窗口

 [System.Runtime.InteropServices.DllImportAttribute("User32.dll")]
        private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
        /// 
        /// 该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。
        /// 
        /// 将被激活并被调入前台的窗口句柄。
        /// 如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零。
        [System.Runtime.InteropServices.DllImportAttribute("User32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        private const int WS_SHOWNORMAL = 1;
        private const int WS_SHOWMAXIMIZED = 3;


        public static System.Diagnostics.Process RunningInstance()
        {
            
            System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName("RS5000");
            foreach (System.Diagnostics.Process process in processes)
            {
                return process;

            }
            return null;
        }

        public static void HandleRunningInstance(System.Diagnostics.Process instance)
        {
            ShowWindowAsync(instance.MainWindowHandle, WS_SHOWMAXIMIZED); //显示,可以注释掉
            SetForegroundWindow(instance.MainWindowHandle);            //放到前端
        }
         public static void Main()
        {
               System.Diagnostics.Process instance = RunningInstance();
                if (instance != null)
                {
                    HandleRunningInstance(instance);
                }
        }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号