Board logo

标题: [系统相关] 如何将指定程序(或进程)切换到前台 [打印本页]

作者: 那哔好神    时间: 2019-10-15 11:52     标题: 如何将指定程序(或进程)切换到前台

请教各位大佬,例如上图,如何(不用start等启动命令)让照片查看器切换至前台,不用一直置顶,只要切换到前台即可,有点类似alt+tab的感觉。
作者: ivor    时间: 2019-10-15 18:00

本帖最后由 ivor 于 2019-10-15 18:04 编辑
  1. #requires -Version 2
  2. function Show-Process($Process, [Switch]$Maximize)
  3. {
  4.   $sig = '
  5.     [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
  6.     [DllImport("user32.dll")] public static extern int SetForegroundWindow(IntPtr hwnd);
  7.   '
  8.   
  9.   if ($Maximize) { $Mode = 3 } else { $Mode = 4 }
  10.   $type = Add-Type -MemberDefinition $sig -Name WindowAPI -PassThru
  11.   $Process.Foreach{
  12.   $hwnd = $_.MainWindowHandle
  13.   $null = $type::ShowWindowAsync($hwnd, $Mode)
  14.   $null = $type::SetForegroundWindow($hwnd)
  15.   }
  16. }
  17. Show-Process (Get-Process -Name notepad)
复制代码
支持进程数组:前台化、最大化
  1. Show-Process 进程对象
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2