日期:2014-05-18  浏览次数:21165 次

快疯了,怎么得到一个.exe的句柄 求帮忙
比如任何一个.exe 的进程ID 或者句柄 然后把他置于其他程序的前面 需要在C#里实现 有谁能提供一下怎么解决 能具体点么?

------解决方案--------------------
C# code
 [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        [DllImport("user32.dll")]
        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

 foreach (System.Diagnostics.Process proc in System.Diagnostics.Process.GetProcesses())
            {
                if (proc.StartInfo.FileName == "xxxx")
                {
                    IntPtr hWnd = proc.MainWindowHandle;
                    SetForegroundWindow(hWnd);
                    ShowWindow(hWnd , 1);
                }

------解决方案--------------------
Process process = Process.GetProcessesName("进程名");
process.Id;
------解决方案--------------------
他说的应该是GetProcessesByName,不过,这返回的依然是个数组,
应该是Process[] processs = Process.GetProcessesByName("进程名");

------解决方案--------------------
C#获取进程的主窗口句柄