2012-06-26 46 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

相關問題