我想使用 VB.NET 代码通过 Windows 7 LAN 发送消息。问题是 msg.exe 仅在管理员模式下执行命令。这是代码。
Shell("cmd.exe /k runas /user:farook-pc\administrator msg.exe") '这里提示我输入密码。
Shell("cmd.exe /k msg.exe", 1)
我使用 /k 开关来查看 shell 中发生了什么。/c 是静音开关。我不希望使用 runas 也不希望更改 msg.exe 中的权限
我想使用 VB.NET 代码通过 Windows 7 LAN 发送消息。问题是 msg.exe 仅在管理员模式下执行命令。这是代码。
Shell("cmd.exe /k runas /user:farook-pc\administrator msg.exe") '这里提示我输入密码。
Shell("cmd.exe /k msg.exe", 1)
我使用 /k 开关来查看 shell 中发生了什么。/c 是静音开关。我不希望使用 runas 也不希望更改 msg.exe 中的权限
我讨厌启动其他应用程序并试图像那样控制它们。如果可能的话,我建议您自己尝试以编程方式模仿 msg.exe 的功能。通过一些快速的谷歌搜索,我发现 msg.exe 使用的 API 函数显然WTSSendMessage
在 Wtsapi32.dll 中。这是有关该功能的 MSDN 文章:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383842(v=vs.85).aspx
这是一个链接,显示了如何从 .NET 调用该 API 函数:
http://www.pinvoke.net/default.aspx/wtsapi32/wtssendmessage.html
我以前从未使用过它,甚至以前从未听说过它,所以很遗憾,除此之外我无能为力。
可以在管理员模式下自动启动 VB.NET 应用程序。这可以在项目设置中更改。
之后,您可以使用以下命令打开 msg.exe:
外壳(“msg.exe”)