我需要用[System.Windows.MessageBox]询问超时,代码是下一个:
“ logX”(如log1,log2或log3)具有写入文件的功能,仅更改Log3。 Log3写完后“退出”(离开脚本)。我们不需要此功能的工作方式
#Funcion para comprobar si existe el token o no.
function Token{
#comprobamos si existe el fichero
$token = Test-Path $dir_token
if($token -eq $True){
#Existe el fichero
$ftoken = 1
}else{
#No existe el fichero
$ftoken = 0
}
return $ftoken
}
#Asignamos dirección de token
$Global:dir_token = "D:\Nuevacarpeta\Nueva carpeta\token.txt"
#Ejecutamos la funcion de Token para saber si existe ahora mismo
$ftoken = Token
#Preparamos la ruta del log
$log = "D:\Nuevacarpeta\log\log.txt"
#Creamos la variable Outlook transformandolo en un objeto (Commobject de Powershell)
$Global:outlook = New-Object -comobject outlook.application
$comprobaroutlook = Get-variable -name outlook
$valueoutlook = $comprobaroutlook.Value
if($valueoutlook.Equals("")){
$msgBoxInput = [System.Windows.MessageBox]::Show('Outlook no se puede tratar, SCRIPT FAIL, para Borrar token y continuar con la ejecución pulsa SI, para no borrar el token e ignorar este mensaje pulse NO','ERROR CRITICO SCRIPT','YesNo','Error')
switch ($msgBoxInput) {
'Yes' {
## Do something
Remove-Item -Path $dir_token
[System.Windows.MessageBox]::Show("BORRADO TOKEN")
Log3("Borrado token, proxima ejecución sera correcta")
}
'No' {
## Do something
[System.Windows.MessageBox]::Show("No hacemos nada, esperamos")
Log3("No tiene contenido la variable outlook")
}
}
}elseif($ftoken -eq 1){
$msgBoxIn = [System.Windows.MessageBox]::Show('Outlook no se puede tratar, SCRIPT FAIL, para Borrar token y continuar con la ejecución pulsa SI, para no borrar el token e ignorar este mensaje pulse NO','ERROR CRITICO SCRIPT','YesNo','Error')
switch ($msgBoxIn) {
'Yes' {
## Do something
Remove-Item -Path $dir_token
[System.Windows.MessageBox]::Show("BORRADO TOKEN")
Log3("Borrado token, proxima ejecución sera correcta")
}
'No' {
## Do something
[System.Windows.MessageBox]::Show("No hacemos nada, esperamos")
Log3("Existe Token")
}
}
}else{
New-Item -Path $dir_token -ItemType File
}
我问这条车道的超时时间:
-[System.Windows.MessageBox] :: Show(“ BORRADO TOKEN”) -[System.Windows.MessageBox] :: Show(“ No hacemos nada,esperamos”)
此消息仅提供信息,我想在屏幕上弹出窗口5分钟后显示并关闭它
答案 0 :(得分:0)
您可以使用Wscript.Shell
COM对象。
$sh = New-Object -ComObject "Wscript.Shell"
$intButton = $sh.Popup("Testing",2,"Title",0+64)
来自here:
语法
intButton = objShell.Popup(strText,[nSecondsToWait],[strTitle],[nType])
参数
objShell
:一个WScript.Shell对象
strText
:包含您想要的文本的字符串值 出现 在弹出的消息框中。
nSecondsToWait
:显示弹出窗口的最长时间 信息 框(以秒为单位,可选,默认=无限)
strTitle
:标题文本字符串,可选。
nType
:按钮和图标的类型(数字,可选) 这些确定如何使用消息框。
IntButton
:按钮的编号(整数值) 这是当用户单击确定时返回的值。
nType
的含义是通过组合2中的值来确定的 下表:按钮类型
值说明
0 OK按钮。
1确定和取消按钮。
2中止,重试和忽略按钮。
3是,否和取消按钮。
4是和否按钮。
5重试和取消按钮。图标类型
值说明
16“停止标记”图标。
32个“问号”图标。
48个“感叹号”图标。
64“信息标记”图标。返回值
IntButton
的可能值:值说明
1个确定按钮
2取消按钮
3中止按钮
4重试按钮
5忽略按钮
6是按钮
7没有按钮如果用户在nSecondsToWait intButton被打开之前没有单击按钮 设置为-1。