一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - PowerShell - PowerShell隱藏不顯示窗口的多種方法

PowerShell隱藏不顯示窗口的多種方法

2020-07-04 09:52PowerShell教程網 PowerShell

這篇文章主要介紹了PowerShell隱藏不顯示窗口的多種方法,本文講解了啟動PowerShell時隱藏自己的窗口、在PowerShell啟動其它進程時隱藏窗口、使用PowerShell隱藏其它進程的窗口三種方法,需要的朋友可以參考下

啟動PowerShell時隱藏自己的窗口

假如我在計劃任務中定時通過Powershell.exe來執行一個腳本文件,我想隱藏這個窗口,此時我們可以考慮使用PowerShell.exe的選項參數:

復制代碼 代碼如下:

-WindowStyle
 將窗口樣式設置為 Normal、Minimized、Maximized 或 Hidden。

 

 

復制代碼 代碼如下:

PowerShell.exe -WindowStyle Hidden -file '您的腳本.ps1'

 

在PowerShell啟動其它進程時隱藏窗口

這個需求也能理解:

 

復制代碼 代碼如下:

Start-Process notepad.exe -WindowStyle Hidden

 

上面的腳本會啟動一個隱藏的記事本程序。

使用PowerShell隱藏其它進程的窗口

這是一個奇葩的需求,但是用戶也有一番自己的理由:

@scl95tx如是說:

我已經實現了一個24小時不間斷的Powershell腳本,有很多數據通過write-host命令輸出到控制臺(需要隨時查看這些數據,確保server運行正常,所以后臺運行我先不考慮),如果(由于操作失誤)誤點擊控制臺窗口,那么腳本就會停止執行,是否有辦法把控制臺隱藏起來,如果我想查看腳本的運行情況,再把控制臺調出來:也就是有隨時隱藏和調出來控制臺的辦法嗎?

這需求合情合理啊,接下來我們解決這個問題:

 

復制代碼 代碼如下:

Add-Type @'
[DllImport("user32.dll")]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
'@ -name “Win32ShowWindowAsync” -namespace Win32API
Function Set-ProcessWindowStyle
{
    param(
     [Parameter(
     Mandatory=$true,
     ValueFromPipeline=$true)]
    [System.Diagnostics.Process]$Process,
    [ValidateSet("Show", "Minimized","Maximized","Hidden")]
    [string]$WindowStyle="Show"
    )
        $WinStateInt = 1
       switch($WindowState)
       {
        "Hidden"       {$WinStateInt =  0}
        "Show"     {$WinStateInt =  1}
        "Maximize"   {$WinStateInt =  3}
        "Minimize"   {$WinStateInt =  6}
        }
    [Win32API.Win32ShowWindowAsync]::ShowWindowAsync($Process.MainWindowHandle,$WindowState)
}

 

寫完上面的腳本后,我滿心喜悅地進行測試,隱藏窗口成功:

復制代碼 代碼如下:

Get-Process notepad | Set-ProcessWindowStyle -WindowStyle Hidden


可是當我嘗試調出隱藏的窗口時,執行返回false。

復制代碼 代碼如下:

PS> Get-Process notepad | Set-ProcessWindowStyle -WindowStyle Show
False


對此我深表遺憾,當窗口被隱藏后,進程的句柄值MainWindowHandle變成了0,0代表什么?

 

MSDN如是說:如果關聯進程沒有主窗口,則 MainWindowHandle 值為零。
結論:不要隱藏進程的窗口,否則你將永遠失去了操作該窗口的機會。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2021国产麻豆剧传媒新片 | 美女校花被调教出奶水 | 男人亚洲天堂 | 嫩草精品 | 四虎精品在线视频 | 成人精品亚洲 | 男人桶女下面60分钟视频 | 问一问免费咨询 | 久久草香蕉频线观 | 免费视频片在线观看大片 | 99国产在线视频 | 好吊色青青青国产综合在线观看 | 倩女还魂在线观看完整版免费 | 免费看男人使劲躁女人小说 | 91国内精品线免费播放 | 国产亚洲精品自在线亚洲情侣 | 亚洲国产精品一区二区三区久久 | 亚洲第一永久色 | 99久久成人 | 国产免费一区不卡在线 | 69日本人 | 亚洲精品一 | www.亚洲视频.com | 蜜色影院| 亚洲欧美激情日韩在线 | 亚洲AV无码国产精品色午夜情 | 多人群p全肉小说 | 国内精品一区二区在线观看 | 美女被草漫画 | 国产精品俺来也在线观看了 | 奇米777四色精品综合影院 | juliaann大战七个黑人 | 欧美成人中文字幕 | 亚洲干综合 | 免费成年网站 | 亚洲 欧美 日本 国产 高清 | 毛片在线播放a | 亚洲系列国产精品制服丝袜第 | 视频一区 日韩 | 800精品国产导航 | 国产精品免费 |