在.NET中抑制进程弹出窗口

时间:2011-05-21 18:43:44

标签: c# .net popup suppress

我们的用户面板将所有软件作为服务运行。无论出于何种原因,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

1 个答案:

答案 0 :(得分:0)

您可以尝试监控打开的窗口并在显示时通过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);