【问题标题】:Suppress Process Popup in .NET抑制 .NET 中的进程弹出窗口
【发布时间】:2011-05-21 18:43:44
【问题描述】:
我们的用户面板将我们所有的软件作为服务运行。不管出于何种原因,当您使用在命令行中设置的管理员密码运行 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
【问题讨论】:
标签:
c#
.net
popup
suppress
【解决方案1】:
您可以尝试监视打开的窗口并在弹出窗口出现时通过 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);