VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -