トップ回答者
msg.exeを使用したメッセージの送信について

質問
-
vb2010で開発を行っています。
LANで接続されている他のPCへ簡単なメッセージを送信するプログラムを作成しています。
http://blog.livedoor.jp/akf0/archives/51469841.html
上記のURLを参考にプログラムを組んでみたのですが、ファイルが見つかりませんとエラーになってしまいます。
Dim oProc As New Process oProc.StartInfo.FileName = "MSG.exe" oProc.StartInfo.Arguments = "送信先のログインユーザーID /SERVER:送信先のIPアドレス 送信メッセージ" oProc.Start() '←ここでファイルが見つからないエラー発生
msg.exeは"C:\Windows\System32\msg.exe"に存在していることを確認しています。
ためしに
oProc.StartInfo.FileName = "C:\Windows\System32\msg.exe"
とやっても結果は同じでした。
このエラーはどうやれば回避できるのでしょうか?
また、コマンドプロンプトから
C:\> MSG 送信先のログインユーザーID /SERVER:送信先のIPアドレス 送信メッセージ
と実行した場合、セッション名の取得エラー5となってしまいます。
RPC接続を有効にしないとダメなようなので、送受信両方のPCのレジストリを変更し
RPC接続を有効にしても状況は変わりませんでした。
なにか他に設定しないとならない項目があるのでしょうか?
送受信ともにWindows7のPCです。
回答
-
ファイルシステムリダイレクタの機能により、たとえファイルが存在しなくても%windir%\SysWOW64ディレクトリにリダイレクトされます。そして%windir%\SysWOW64\msg.exeは存在しないため、このようなエラーになります。Windows 7でしたら解決策も挙げられていて、 %windir%\sysnative\msg.exe を使用してください。
- 回答の候補に設定 AzuleanMVP, Moderator 2015年2月19日 15:03
- 回答としてマーク 星 睦美 2015年2月23日 7:37
すべての返信
-
こんにちは。
セッション名の取得エラー5については以下を参照されると良いでしょう。
http://blogs.technet.com/b/junichia/archive/2010/04/06/3323377.aspx
http://nasunoblog.blogspot.jp/2013/09/windows-msg-exe.htmlMsg.exeは存在すると思うので管理者権限で実行してみてください。
また、送信先はlocalhostから検証を始めたほうが良いと思います。
localhostで動きますか?- 編集済み Tak1waMVP, Moderator 2015年2月19日 12:32
-
ファイルシステムリダイレクタの機能により、たとえファイルが存在しなくても%windir%\SysWOW64ディレクトリにリダイレクトされます。そして%windir%\SysWOW64\msg.exeは存在しないため、このようなエラーになります。Windows 7でしたら解決策も挙げられていて、 %windir%\sysnative\msg.exe を使用してください。
- 回答の候補に設定 AzuleanMVP, Moderator 2015年2月19日 15:03
- 回答としてマーク 星 睦美 2015年2月23日 7:37