2015-09-28 110 views
0

我試圖在Powershell中創建一個消息對話框,其中用戶沒有選擇對消息採取行動,因爲這是意圖。所以這個消息將X按鈕和按鈕一起變灰(不顯示按鈕更好)。如何在沒有按鈕的Powershell中創建一個彈出消息

我能達到通過下面的代碼被禁用X最接近:

$wshell = New-Object -ComObject Wscript.Shell -ErrorAction Stop 
$wshell.Popup("Aborted",0,"ERROR!",48+4) 

但無法弄清楚失效按鈕部分。下面MS文章是沒有多大幫助,以及:

http://blogs.technet.com/b/heyscriptingguy/archive/2006/07/27/how-can-i-display-a-message-box-that-has-no-buttons-and-that-disappears-after-a-specified-period-of-time.aspx

https://msdn.microsoft.com/en-us/library/x83z1d9f(v=vs.84).aspx

使用HTML,或VB圖書館提到過網擊球其他一些文章有的甚至暗示定製按鈕。但不是我所期待的。

任何幫助/提示/建議將深受讚賞。

問候, 沙克蒂

+0

因此,此消息將彈出沒有任何可操作性,然後將永遠存在,直到劇本被強制退出? – briantist

+1

聽起來像是一種完美的對話框,用於顯示惡意軟件。 –

回答

0

深入到.NET Windows.Forms的命名空間,可以讓幾乎你想要的任何類型的窗口:

https://msdn.microsoft.com/en-us/library/system.windows.forms.aspx

這裏有一個快速採樣窗口w/no按鈕不能被用戶移動/關閉,但在5秒後自動關閉:

Function Generate-Form { 

    Add-Type -AssemblyName System.Windows.Forms  

    # Build Form 
    $objForm = New-Object System.Windows.Forms.Form 
    $objForm.Text = "Test" 
    $objForm.Size = New-Object System.Drawing.Size(220,100) 

    # Add Label 
    $objLabel = New-Object System.Windows.Forms.Label 
    $objLabel.Location = New-Object System.Drawing.Size(80,20) 
    $objLabel.Size = New-Object System.Drawing.Size(100,20) 
    $objLabel.Text = "Hi there!" 
    $objForm.Controls.Add($objLabel) 

    # Show the form 
    $objForm.Show()| Out-Null 

    # wait 5 seconds 
    Start-Sleep -Seconds 5 

    # destroy form 
    $objForm.Close() | Out-Null 

} 

generate-form 
相關問題