[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 如何将指定程序(或进程)切换到前台

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

本帖最后由 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 进程对象
复制代码

TOP

返回列表