Hi,
Sorry forgot to mention you need to add a reference to envdte
for this to work. Sample works best if you build the app and run it with
vs.net closed.
Ken
---------------------
"Ken Tucker [MVP]" <vb***@bellsout h.net> wrote in message
news:Ol******** ******@tk2msftn gp13.phx.gbl...
Hi,
Here is how to add a tab to the toolbox that contains some code
snippit. Here is some code for a console app.
Imports EnvDTE
Module Module1
Sub Main()
Dim myDTE As DTE
myDTE =
CType(Microsoft .VisualBasic.In teraction.Creat eObject("Visual Studio.DTE.7.1" ),
DTE)
Dim objToolbox As ToolBox
Dim colTbxTabs As ToolBoxTabs
Dim objTab As ToolBoxTab
Dim colTbxItems As ToolBoxItems
Dim objTbxItem As ToolBoxItem
objToolbox = CType(myDTE.Win dows.Item(Const ants.vsWindowKi ndToolbox).Obje ct,
ToolBox)
colTbxTabs = objToolbox.Tool BoxTabs
' look to see if tab exists
Dim bFound As Boolean = False
Dim tbtDelete As ToolBoxTab
For Each t As ToolBoxTab In colTbxTabs
If t.Name = "WMI Code" Then
tbtDelete = t
bFound = True
End If
Next
If bFound Then tbtDelete.Delet e()
objTab = colTbxTabs.Add( "WMI Code")
objTab.Activate ()
Dim sbCode As New System.Text.Str ingBuilder
sbCode.Append(" ' Add a Reference to System.Manageme nt" & ControlChars.Cr Lf)
sbCode.Append(" Dim moReturn As Management.Mana gementObjectCol lection" &
ControlChars.Cr Lf)
sbCode.Append(" Dim moSearch As Management.Mana gementObjectSea rcher" &
ControlChars.Cr Lf)
sbCode.Append(" Dim mo As Management.Mana gementObject" & ControlChars.Cr Lf)
sbCode.Append(" " & ControlChars.Cr Lf)
sbCode.Append(" moSearch = New Management.Mana gementObjectSea rcher(""Select *
from Win32_LogicalDi sk"")" & ControlChars.Cr Lf)
sbCode.Append(" moReturn = moSearch.Get" & ControlChars.Cr Lf)
sbCode.Append(" For Each mo In moReturn" & ControlChars.Cr Lf)
sbCode.Append(" Dim strOut As String" & ControlChars.Cr Lf)
sbCode.Append(" strOut = String.Format(" "Drive {0} - Drive Type {1}"",
mo(""Name""), mo(""DriveType" "))" & ControlChars.Cr Lf)
sbCode.Append(" Trace.WriteLine (strOut)" & ControlChars.Cr Lf)
sbCode.Append(" Next" & ControlChars.Cr Lf)
objTab.ToolBoxI tems.Add("Logic alDisk", sbCode.ToString ,
vsToolBoxItemFo rmat.vsToolBoxI temFormatText)
sbCode = New System.Text.Str ingBuilder
sbCode.Append(" ' Add a Reference to System.Manageme nt" & ControlChars.Cr Lf)
sbCode.Append(" Dim moReturn As Management.Mana gementObjectCol lection" &
ControlChars.Cr Lf)
sbCode.Append(" Dim moSearch As Management.Mana gementObjectSea rcher" &
ControlChars.Cr Lf)
sbCode.Append(" Dim mo As Management.Mana gementObject" & ControlChars.Cr Lf)
sbCode.Append(" " & ControlChars.Cr Lf)
sbCode.Append(" moSearch = New Management.Mana gementObjectSea rcher(""Select *
from Win32_Group"")" & ControlChars.Cr Lf)
sbCode.Append(" moReturn = moSearch.Get" & ControlChars.Cr Lf)
sbCode.Append(" For Each mo In moReturn" & ControlChars.Cr Lf)
sbCode.Append(" Trace.WriteLine (mo(""Name""))" & ControlChars.Cr Lf)
sbCode.Append(" Next" & ControlChars.Cr Lf)
objTab.ToolBoxI tems.Add("Group s", sbCode.ToString ,
vsToolBoxItemFo rmat.vsToolBoxI temFormatText)
sbCode = New System.Text.Str ingBuilder
sbCode.Append(" ' Add a Reference to System.Manageme nt" & ControlChars.Cr Lf)
sbCode.Append(" Dim moReturn As Management.Mana gementObjectCol lection" &
ControlChars.Cr Lf)
sbCode.Append(" Dim moSearch As Management.Mana gementObjectSea rcher" &
ControlChars.Cr Lf)
sbCode.Append(" Dim mo As Management.Mana gementObject" & ControlChars.Cr Lf)
sbCode.Append(" " & ControlChars.Cr Lf)
sbCode.Append(" moSearch = New Management.Mana gementObjectSea rcher(""Select *
from Win32_Process"" )" & ControlChars.Cr Lf)
sbCode.Append(" moReturn = moSearch.Get" & ControlChars.Cr Lf)
sbCode.Append(" For Each mo In moReturn" & ControlChars.Cr Lf)
sbCode.Append(" Dim arOwner(2) As String" & ControlChars.Cr Lf)
sbCode.Append(" mo.InvokeMethod (""GetOwner" ", arOwner)" & ControlChars.Cr Lf)
sbCode.Append(" Dim strOut As String" & ControlChars.Cr Lf)
sbCode.Append(" strOut = String.Format(" "{0} Owner {1} Domain {2}"",
mo(""Name""), arOwner(0), arOwner(1))" & ControlChars.Cr Lf)
sbCode.Append(" Trace.WriteLine (strOut)" & ControlChars.Cr Lf)
sbCode.Append(" Next" & ControlChars.Cr Lf)
objTab.ToolBoxI tems.Add("Proce ssOwner", sbCode.ToString ,
vsToolBoxItemFo rmat.vsToolBoxI temFormatText)
sbCode = New System.Text.Str ingBuilder
sbCode.Append(" ' Add a Reference to System.Manageme nt" & ControlChars.Cr Lf)
sbCode.Append(" Dim moReturn As Management.Mana gementObjectCol lection" &
ControlChars.Cr Lf)
sbCode.Append(" Dim moSearch As Management.Mana gementObjectSea rcher" &
ControlChars.Cr Lf)
sbCode.Append(" Dim mo As Management.Mana gementObject" & ControlChars.Cr Lf)
sbCode.Append(" " & ControlChars.Cr Lf)
sbCode.Append(" moSearch = New Management.Mana gementObjectSea rcher(""Select *
from Win32_Processor "")" & ControlChars.Cr Lf)
sbCode.Append(" moReturn = moSearch.Get" & ControlChars.Cr Lf)
sbCode.Append(" For Each mo In moReturn" & ControlChars.Cr Lf)
sbCode.Append(" Dim strOut As String" & ControlChars.Cr Lf)
sbCode.Append(" strOut = String.Format(" "{0} - ID {1}"", mo(""Name""),
mo(""ProcessorI D""))" & ControlChars.Cr Lf)
sbCode.Append(" Trace.WriteLine (strOut)" & ControlChars.Cr Lf)
sbCode.Append(" Next" & ControlChars.Cr Lf)
objTab.ToolBoxI tems.Add("Proce ssor", sbCode.ToString ,
vsToolBoxItemFo rmat.vsToolBoxI temFormatText)
' Add a Reference to System.Manageme nt
Dim moReturn As Management.Mana gementObjectCol lection
Dim moSearch As Management.Mana gementObjectSea rcher
Dim mo As Management.Mana gementObject
moSearch = New Management.Mana gementObjectSea rcher("Select * from
Win32_Group")
moReturn = moSearch.Get
For Each mo In moReturn
Trace.WriteLine (mo("Name"))
Next
End Sub
End Module
Ken
------------------------
"moondaddy" <mo*******@nosp am.com> wrote in message
news:e0******** ******@TK2MSFTN GP15.phx.gbl...
I've seen how people have snippets of code stored over by the tool box and
then can drag them into a code page. What do you call this and what's a
reference on how to do this?
Thanks.
--
mo*******@nospa m.com