Powershell弹出窗口的几种方式

  • 来源:网络
  • 更新日期:2020-07-10

摘要:系统运维 本来这篇文章应该是上午就写完的,结果,不得不承认自己有点懒,对最近手头上做的项目做了些总结,Powershell开发运维,也做了一段时间了

系统运维

本来这篇文章应该是上午就写完的,结果,不得不承认自己有点懒,对最近手头上做的项目做了些总结,Powershell开发运维,也做了一段时间了,今天就来说说那些简单的GUI的编程运维,首先从弹出窗口说起吧。

弹出窗口就自己在写PS GUI代码是经常用到的有3种方式,wscript方式,Forms方式,VB方式,先说说Wscript方式,这种方式最简单,也最简陋,只需要两行代码就可以简单做出弹出窗口。


Wscript方式:

function Read-MessageBoxDialog

{

$PopUpWin = new-object -comobject wscript.shell

$PopUpWin.popup(Hello World)

}

Read-MessageBoxDialog


Forms方式,相对于Wscript方式来说,这种方式写的代码比较多但是呈现的样式比较亲切

function Read-MessageBoxDialog

{

param ([string]$Message,

[string]$WindowTitle,

[System.Windows.Forms.MessageBoxButtons]$Buttons = [System.Windows.Forms.MessageBoxButtons]::OK,

[System.Windows.Forms.MessageBoxIcon]$Icon = [System.Windows.Forms.MessageBoxIcon]::None)

Add-Type -AssemblyName System.Windows.Forms

return [System.Windows.Forms.MessageBox]::Show($Message, $WindowTitle, $Buttons, $Icon)

}

Read-MessageBoxDialog -Message Hello World -WindowTitle CustomTitleHere -Buttons OK -Icon Information


最后一种方式就是VB方式,这种方式是在PS中调用VB的方式来进行弹出窗口,样式与Forms基本类似

function Read-MessageBoxDialog

{

param ([string]$Message,[string]$WindowTitle)

Add-Type -AssemblyName Microsoft.VisualBasic

return [Microsoft.VisualBasic.Interaction]::MsgBox($Message,\'Information\',$WindowTitle)

}

Read-MessageBoxDialog -Message Hello World -WindowTitle CustomTitleHere


最后可以看出VB的样式与Forms样式一样,但是代码要比Forms的少很多,如果只是提示窗口,建议用VB形式,如果想让提示窗口显示为Information形式,并且OK与Cancel按钮同时存在就将Forms方式中的Buttons属性设置为 OKCancel

function Read-MessageBoxDialog

{

param ([string]$Message,

[string]$WindowTitle,

[System.Windows.Forms.MessageBoxButtons]$Buttons = [System.Windows.Forms.MessageBoxButtons]::OK,

[System.Windows.Forms.MessageBoxIcon]$Icon = [System.Windows.Forms.MessageBoxIcon]::None)

Add-Type -AssemblyName System.Windows.Forms

return [System.Windows.Forms.MessageBox]::Show($Message, $WindowTitle, $Buttons, $Icon)

}

Read-MessageBoxDialog -Message Hello World -WindowTitle CustomTitleHere -Buttons OKCancel -Icon Information







新网虚拟主机