2012-06-26 17 views
1

我想使用VB.NET代码发送带有Windows 7 LAN的消息。问题在于msg.exe仅以管理员模式执行命令。这是代码。如何使用cmd.exe打开shell后运行msg.exe

Shell(“cmd.exe/k runas/user:farook-pc \ administrator msg.exe”)'在这里提示输入密码。

壳牌( “CMD.EXE/K msg.exe”,1)

我使用/ k开关,看看发生了什么事情的外壳。/c是无声开关。我不想使用亚马逊,我也不想在msg.exe中改变privilages

回答

0

我讨厌推出其他应用程序,并试图控制它们。如果可能的话,我会建议尝试以编程方式模拟msg.exe的功能。从做一些快速谷歌搜索,我发现msg.exe使用的API函数显然是Wtsapi32.dll中的WTSSendMessage。下面是关于该功能的MSDN文章:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa383842(v=vs.85).aspx

这里说明了如何来调用API函数从.NET链接:

http://www.pinvoke.net/default.aspx/wtsapi32/wtssendmessage.html

我以前从来没有使用过它,或者甚至听说过,所以,不幸的是,除此之外,我无法帮助你。

0

它可能在管理模式下自动启动VB.NET应用程序。 可以在项目设置中进行更改。

之后,你可以用下面的命令来打开msg.exe:

壳牌(“msg.exe”)

+0

我已经改变了app.manifest文件“requireAdministrator”,但我仍然得到同样的错误信息。 'msg.exe'不能被识别为内部或外部命令......当我在Windows中打开一个shell时,它运行良好。 VS2010提示我以管理员模式打开应用程序。晚上我会在家跟踪Steves的联系,这里有很多的阅读。 – Farook

相关问题