投稿日 | : 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