zoukankan      html  css  js  c++  java
  • C# 判断某程序是否运行

    [DllImport("user32.dll")]

            private static extern bool

            SetForegroundWindow(IntPtr hWnd);

            [DllImport("user32.dll")]

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

            [DllImport("user32.dll")]

            private static extern bool IsIconic(IntPtr hWnd);

            // 消息函数

            [DllImport("user32.dll", EntryPoint = "PostMessageA")]

            public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

            [DllImport("user32.dll")]

            public static extern IntPtr FindWindow(string strclassName, string strWindowName);

            [DllImportAttribute("user32.dll")]

            public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

            public const int WM_SYSCOMMAND = 0x0112;

            public const int SC_MAXIMIZE = 0xF030;

            private string exeName = "SaoMiaoApp";

            public void SetForm()

            {

                Process[] processes = Process.GetProcessesByName(exeName);

                if (processes.Length > 0)

                {

                    IntPtr hWnd = processes[0].MainWindowHandle;

                    if (IsIconic(hWnd))

                        ShowWindowAsync(hWnd, 9);// 9就是SW_RESTORE标志,表示还原窗体

                    //SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);

                    SetForegroundWindow(hWnd);

                }

                else

                {

                    Process.Start(exeName + ".exe");

                }

            }

  • 相关阅读:
    git 从远程仓库指定分支克隆代码到本地
    vue路由懒加载
    ES6中拓展运算符 ...
    Mysql 安装-windows X64
    mysql-Federated存储方式,远程表,相当于sql server的linked server
    优化临时表使用,SQL语句性能提升100倍
    MySQL行锁深入研究
    mysql 队列 实现并发读
    mysql 常用sql
    mysql分表的3种方法
  • 原文地址:https://www.cnblogs.com/rr163/p/3999474.html
Copyright © 2011-2022 走看看