我正在使用Powershell脚本调用.exe文件,如下所示。
cmd.exe /c "C:\Users\Desktop\SomeExecutable.exe password:ABCD123"
密码正确时,可执行文件将平稳运行。 密码错误时,会弹出消息提示密码错误。
出现弹出消息时,PowerShell脚本将一直等到用户关闭弹出消息。
我要以编程方式关闭此弹出消息。
您能否阐明如何实现这一目标?
答案 0 :(得分:1)
您可以为此目的使用Windows API,如下所示:
http://www.codeproject.com/Articles/22257/Find-and-Close-the-Window-using-Win-API
您也可以为此使用powershell:
Add-Type -Name ConsoleUtils -Namespace WPIA -MemberDefinition @'
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_CLOSE = 0xF060;
'@
#find console window with tile "QlikReload" and close it.
[int]$handle = [WPIA.ConsoleUtils]::FindWindow('ConsoleWindowClass','QlikReload')
if ($handle -gt 0)
{
[void][WPIA.ConsoleUtils]::SendMessage($handle, [WPIA.ConsoleUtils]::WM_SYSCOMMAND, [WPIA.ConsoleUtils]::SC_CLOSE, 0)
}