2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« Excel VBAからDDE経由、Adobe ReaderでPDFファイルを印刷する。 | トップページ | PowerShellでZIP圧縮する。 »

2007年11月30日 (金)

VB.NETで、RunningObjectTable(ROT)の表示名を列挙する、コマンドを作る。

GUIでは、IROTVIEW.exeなんてのがありますが。。。

Option Explicit
Imports System.Runtime.InteropServices.ComTypes
Public Class ROT
Private Declare Function CreateBindCtx Lib "ole32" (ByVal dwReserved As Integer, ByRef pBindCtx As IBindCtx) As Integer
Public Shared Sub Main()
Dim pbc As IBindCtx
CreateBindCtx(0, pbc)
Dim pprot As IRunningObjectTable
pbc.GetRunningObjectTable(pprot)
Dim ppenumMoniker As IEnumMoniker
pprot.EnumRunning(ppenumMoniker)
Dim rgelt(0) As IMoniker
Dim pceltFetched As Integer
Do While ppenumMoniker.Next(rgelt.Length, rgelt, pceltFetched) = 0
  Dim ppszDisplayName As String
  rgelt(0).GetDisplayName(pbc, Nothing, ppszDisplayName)
  Console.WriteLine(ppszDisplayName)
Loop
End Sub
End Class

« Excel VBAからDDE経由、Adobe ReaderでPDFファイルを印刷する。 | トップページ | PowerShellでZIP圧縮する。 »