投稿時間:2003/03/04(Tue) 10:51 投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:Re: 相手のマシンでbatやexe
> VBで、ネットワークでつながった相手のマシンでbatやexeを実行させることはかのうでしょうか?
VB初心者友の会の[Q&A掲示板](http://www2j.biglobe.ne.jp/~little-g/cgi-bin/vbqanda.cgi)の 595番の投稿は、今回の質問と全く同じですね。おそらく、同じ方なのですよね? (^_^;)
同じ投稿を、いくつもの掲示板(メーリングリスト等を含む)に投稿されるのは、 あまり褒められた行為ではありませんよ。
そもそも、この掲示板の右上『注意事項』の欄には、 》 4.VB初心者友の会等他サイトに投稿され、さらに、こちらにも 》 投稿されるような事(マルチポスト)は、マナー違反です。 と書いてあります。
また、VB初心者友の会の『掲示板の利用ルール』の欄にも同様に、 》 ● 同じ内容の記事を他の掲示板に投稿する(マルチポスト)のは絶対禁止です。 》 ○ これは、どの掲示板(パソコン通信やニュースなど)でも常識です。 》 ○ マルチポストがあった場合は、その記事すべてを削除します。 という記述があります。明らかに禁止行為となっております。
------------------------------------------------------------------------ さて、小言はこれぐらいにして……本題です。
VB初心者友の会の方で「DCOM」と「WMI」を紹介し、そのうちDCOMによる操作について、 簡単に解説しましたので、こちらでは、WMIによるコードを掲載しておきます。
# 向こうでも書きましたが、事前に権限等の設定が必要になる事に注意してくださいね。
以下、 MyServer というコンピュータ上にある、C:\TEST.BAT ファイルを、 MyServer自身に起動させるというサンプルです。
Dim Q As String Dim strComputer As String Dim objProcess As Object Dim objStartup As Object Dim intProcessId As Integer Dim intResult As Integer
strComputer = "MyServer" 'コンピュータ名 Q = "winmgmts:!\\" & strComputer & "\root\cimv2"
Set objProcess = GetObject(Q & ":Win32_Process") Set objStartup = GetObject(Q & ":Win32_ProcessStartup")
'Win32_ProcessStartupクラス With objStartup .ShowWindow = 6 'SW_SHOW .X = 0 .Y = 0 .XSize = 640 .YSize = 480 .PriorityClass = 128 '(High) End With
'Win32_ProcessクラスのCreateメソッド ' 第1引数: CommandLine ' 第2引数: CurrentDirectory ' 第3引数: ProcessStartupInformation ' 第4引数: ProcessId '戻り値: 以下のInteger値 ' 0 Successful completion ' 2 Access denied ' 3 Insufficient privilege ' 8 Unknown failure ' 9 Path Not found ' 21 Invalid parameter intResult = objProcess.Create("C:\TEST.BAT", "C:\", objStartup, intProcessId)
Set objStartup = Nothing Set objProcess = Nothing
|