禁止显示 .NET 中的进程弹出窗口

本文关键字:窗口 进程 NET 禁止显示 | 更新日期: 2023-09-27 17:57:05

我们的用户面板将所有软件作为服务运行。无论出于何种原因,当您使用在命令行中设置的管理员密码运行它时,Mumble 语音软件都会创建一个弹出窗口。有人通过使用运行两个进程的bat文件作为解决方法发布了替代方案,但是有没有办法使用.NET抑制弹出消息?我已经编写了很多启动器类型的应用程序来修复这样的事情,但我不知道如何抑制此消息。

以下是解决方法中.bat文件的外观。

set /p VAR= < superadmin.txt
start murmur2.exe -supw %var%
ping 0.0.0.0 -n 3 > NUL
tskill murmur2
murmur.exe

禁止显示 .NET 中的进程弹出窗口

您可以尝试监控打开的窗口,并在弹出窗口出现时通过 winapi 关闭弹出窗口

[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_COMMAND = 0x0112;
public const int WM_CLOSE = 0xF060;
int handle = FindWindow(lpClassName, lpWindowName);
SendMessage(handle, WM_COMMAND, WM_CLOSE, 0);