IDTCommandTarget.QueryStatus Method

Returns the current status (enabled, disabled, hidden, and so forth) of the specified named command.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

void QueryStatus(
	string CmdName,
	vsCommandStatusTextWanted NeededText,
	out vsCommandStatus StatusOption,
	out Object CommandText


Type: System.String

The name of the command to check.

Type: EnvDTE.vsCommandStatusTextWanted

A vsCommandStatusTextWanted constant specifying if information is returned from the check, and if so, what type of information is returned.

Type: EnvDTE.vsCommandStatus%

A vsCommandStatus specifying the current status of the command.

Type: System.Object%

The text to return if vsCommandStatusTextWantedStatus is specified.

The following example uses the Command object, its AddNamedCommand and AddControl methods, and the IDTCommandTarget interface and its (Exec and QueryStatus) methods, to demonstrate how to make an Add-in appear as a command on the Tools menu in Visual Studio. Note that this code does not work in a macro.

Implements IDTCommandTarget

Dim applicationObject As EnvDTE.DTE
Dim addInInstance as EnvDTE.AddIn
Dim objAddIn As AddIn = CType(addInInst, AddIn)
Dim CommandObj As Command
   CommandObj = applicationObject.Commands.AddNamedCommand(objAddIn, "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", True, 59, Nothing, 1 + 2)
   '1+2 == vsCommandStatusSupported+vsCommandStatusEnabled
Catch e as System.Exception
End Try

Public Sub Exec(ByVal cmdName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec
   handled = False
   If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then
      If cmdName = "MyAddin1.Connect.MyAddin1" Then
         handled = True
         Exit Sub
      End If
   End If
End Sub
Public Sub QueryStatus(ByVal cmdName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef statusOption As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus
   If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then
      If cmdName = "MyAddin1.Connect.MyAddin1" Then
         statusOption = CType(vsCommandStatus.vsCommandStatusEnabled & vsCommandStatus.vsCommandStatusSupported, vsCommandStatus)
         statusOption = vsCommandStatus.vsCommandStatusUnsupported
      End If
   End If
End Sub  

Community Additions