最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年06月20日 09:24:40   投稿:junjie  
這篇文章主要介紹了PowerShell隱藏不顯示窗口的多種方法,本文講解了啟動PowerShell時隱藏自己的窗口、在PowerShell啟動其它進(jìn)程時隱藏窗口、使用PowerShell隱藏其它進(jìn)程的窗口三種方法,需要的朋友可以參考下

啟動PowerShell時隱藏自己的窗口

假如我在計(jì)劃任務(wù)中定時通過Powershell.exe來執(zhí)行一個腳本文件,我想隱藏這個窗口,此時我們可以考慮使用PowerShell.exe的選項(xiàng)參數(shù):

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

在PowerShell啟動其它進(jìn)程時隱藏窗口

這個需求也能理解:

復(fù)制代碼 代碼如下:

Start-Process notepad.exe -WindowStyle Hidden

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

使用PowerShell隱藏其它進(jìn)程的窗口

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

@scl95tx如是說:

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

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

復(fù)制代碼 代碼如下:

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)
}

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

復(fù)制代碼 代碼如下:

Get-Process notepad | Set-ProcessWindowStyle -WindowStyle Hidden

可是當(dāng)我嘗試調(diào)出隱藏的窗口時,執(zhí)行返回false。
復(fù)制代碼 代碼如下:

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

對此我深表遺憾,當(dāng)窗口被隱藏后,進(jìn)程的句柄值MainWindowHandle變成了0,0代表什么?

MSDN如是說:如果關(guān)聯(lián)進(jìn)程沒有主窗口,則 MainWindowHandle 值為零。
結(jié)論:不要隱藏進(jìn)程的窗口,否則你將永遠(yuǎn)失去了操作該窗口的機(jī)會。

相關(guān)文章

最新評論

潜江市| 易门县| 凤山市| 和龙市| 任丘市| 儋州市| 科尔| 民权县| 江孜县| 青田县| 渝中区| 扬州市| 孟津县| 长宁区| 东兴市| 泽库县| 苏尼特左旗| 瓦房店市| 廉江市| 和硕县| 德安县| 麟游县| 琼结县| 新竹市| 马公市| 浦北县| 舞阳县| 资兴市| 揭阳市| 昌都县| 天津市| 扎鲁特旗| 澎湖县| 昭平县| 寿光市| 辉县市| 北票市| 高雄县| 当阳市| 潢川县| 礼泉县|