WSH

WMI

サンプル

  • メモ帳を終了させるプログラム
    ' KillNotepad.vbs
    Main
    
    Sub Main()
      For Each Process In GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_Process where Name='NOTEPAD.EXE'") 
         Set oProcess = Process 
         WScript.Echo oProcess.ExecutablePath
         Process.Terminate
      Next
    End Sub
  • 隣のPCでプログラムを実行させる方法。
    • http://www.users.gr.jp/ml/archive/viewer.aspx?name=wsh&no=120
      Set args = Wscript.Arguments
      If args.Count < 1 Then
          Wscript.StdOut.WriteLine "xstart <command> [<computer>]"
      Else
          '--- コマンド指定
          strCommand = args(0)
          '--- コンピュータ指定
          strComputerPath = ""
          If args.Count = 2 Then
              strComputer = args(1)
              If InStr(strComputer, "\\") = 1 Then
                  strComputer = Mid(strComputer, 3)
              End If
              strComputerPath = "\\" & strComputer & "\root\cimv2:"
          End If
          '--- WMI に接続 Wim32_Process クラスを取り出す
          Set clsProcess = GetObject("winmgmts:{impersonationLevel=impersonate}" _
              & "!" & strComputerPath & "Win32_Process")
         '--- プロセスの作成
          lngResult = clsProcess.Create(strCommand)
          Wscript.StdOut.WriteLine strCommand & " :" & lngResult
      End If

コマンド

Runas

Visual C++ 関連情報

  • マクロを展開する方法
    • コンパイルオプションで「/P」を指定するとプリプロセスの処理結果が「*.i」というファイルに保存される。
cl test.cpp /P
  • 変換前

    #code c++

    int main( int argc, char* argv[] )
    {
        printf( "_MAX_PATH = [%d]\n", _MAX_PATH );
        return 0;
    }

    #end

  • 変換後

    #code c++

    int main( int argc, char* argv[] )
    {
        printf( "_MAX_PATH = [%d]\n", 260 );
        return 0;
    }

    #end


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-09-13 (火) 21:07:11 (4602d)