Codigo del Script para Ver las propiedades de una ventana
Publicado: 27 Oct 2009, 17:56
por Chefito
;Código realizado por chefito (26/10/2009). Script para ver las propiedades de una ventana.
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <Constants.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
Global $hListView,$hListView2,$hVentana="",$ItemSeleccionado,$auxDarFocoEdit=1,$GUI, $hImage
$GUI = GUICreate("Ver las propiedades de una ventana", 850, 400)
$Button_1 = GUICtrlCreateButton("Ver propiedades", 10, 285, 100)
GUICtrlSetTip(-1,"Muestra las propiedades de la ventana que coincide con el título puesto")
$Button_2 = GUICtrlCreateButton("Ver propiedades", 580, 247, 100)
GUICtrlSetTip(-1,"Muestra las propiedades de la ventana seleccionada en la lista")
$Button_3 = GUICtrlCreateButton("Refrescar lista", 700, 247, 100)
$Input_1 = GUICtrlCreateInput("Poner aquí un título de ventana...", 130, 288, 300, 20)
GUICtrlSetTip(-1,"Poner aquí un título de ventana. Puedes darle al botón o pulsar enter para ver las propiedades de la ventana")
GUICtrlSetColor(-1,0x8080ff)
$hInput_1=GUICtrlGetHandle($Input_1)
$Input_2 = GUICtrlCreateInput("", 130, 327, 300, 20,$ES_READONLY)
$label_1 = GUICtrlCreateLabel("Título de ventana >>>",10,330)
$hListView = _GUICtrlListView_Create($GUI, "", 2, 2, 520, 268)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT,$LVS_EX_SUBITEMIMAGES))
$hListView2= _GUICtrlListView_Create($GUI, "", 540, 2, 300, 230)
_GUICtrlListView_SetExtendedListViewStyle($hListView2, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT,$LVS_EX_SUBITEMIMAGES))
GUICtrlCreateGraphic(460, 288, 380, 100, 0)
GUICtrlSetBkColor(-1, 0x808080)
$label_2=GUICtrlCreateLabel("",470,295,100,15)
GUICtrlSetBkColor(-1,0x4875b7)
GUICtrlSetColor(-1,0xffffff)
$Button_4 = GUICtrlCreateButton("Lista de Clases", 470, 320, 100)
$Button_5 = GUICtrlCreateButton("Texto de ventana", 470, 355, 100)
$Edit_1=GUICtrlCreateEdit("",580,295,250,85,$ES_READONLY+$ES_MULTILINE+$ES_AUTOVSCROLL+$WS_VSCROLL)
$Checkbox_1 = GUICtrlCreateCheckbox("TopMost", 50, 360, 100,25,$BS_PUSHLIKE)
GUICtrlSetTip(-1,"Deja la ventana del programa siempre visible")
$Checkbox_2 = GUICtrlCreateCheckbox("Propiedades de ventana activa (F8)", 200, 360, 190,25,$BS_PUSHLIKE)
GUICtrlSetTip(-1,"Para ver las propiedades de la ventana activa pulsa F8")
$hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131) ;icono equis. No funciona el servidor.
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137) ;icono flecha. El servidor que se está utilizando.
_GUICtrlListView_SetImageList($hListView, $hImage, 1)
; Add columns
_GUICtrlListView_InsertColumn($hListView, 0, "COMMON STYLE", 180)
_GUICtrlListView_InsertColumn($hListView, 1, "EXTENDED STYLE", 180)
_GUICtrlListView_InsertColumn($hListView, 2, "OTRAS CARACTERISTICAS", 160)
_GUICtrlListView_InsertColumn($hListView2, 0, "TÍTULO DE WINS", 184)
_GUICtrlListView_InsertColumn($hListView2, 1, "HANDLE", 100)
ActualizarListaVentanas()
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button_1
CodigoBoton1()
Case $msg=$Button_2
$hVentana=HWnd(_GUICtrlListView_GetItemText($hListView2,$ItemSeleccionado,1))
VerPropiedadesWin($hVentana)
Case $msg=$Button_3 ;borro todos los Items de la 2º lista (lista de ventanas de win).
_GUICtrlListView_DeleteAllItems($hListView2)
ActualizarListaVentanas()
Case $msg=$Button_4 ;Vemos la lista de clases de la ventana a la que hayamos visto sus propiedades.
If $hVentana<>"" Then
$textoClases=StringReplace(WinGetClassList($hVentana),@lf,@CRLF)
GUICtrlSetData($Edit_1,$textoClases)
GUICtrlSetData($label_2,"Lista de clases >>")
EndIf
Case $msg=$Button_5 ;Vemos el texto de la ventana a la que hayamos visto sus propiedades.
If $hVentana<>"" Then
$textoVentana=StringReplace(WinGetText($hVentana),@lf,@CRLF)
GUICtrlSetData($Edit_1,$textoVentana)
GUICtrlSetData($label_2,"Texto de ventana >>")
EndIf
Case $msg = $Checkbox_1 ;si selecciono este checkbox (estilo botón), la ventana del programa quedará siempre visible.
If BitAND(GUICtrlRead($Checkbox_1), $GUI_CHECKED) = $GUI_CHECKED Then
WinSetOnTop($GUI,"",1)
Else
WinSetOnTop($GUI,"",0)
EndIf
Case $msg=$Checkbox_2 ;si selecciono este checkbox (estilo botón), al pulsar la tecla f8, veremos las propiedades de la ventana activa.
If BitAND(GUICtrlRead($Checkbox_2), $GUI_CHECKED) = $GUI_CHECKED Then
HotKeySet("{f8}","PropiedadesVentanaActiva")
Else
HotKeySet("{f8}")
EndIf
EndSelect
WEnd
Func ActualizarListaVentanas()
$VentanasWin=WinList()
For $n=1 To $VentanasWin[0][0]
_GUICtrlListView_AddItem($hListView2, $VentanasWin[$n][0])
_GUICtrlListView_AddSubItem($hListView2,$n-1, $VentanasWin[$n][1],1)
Next
_GUICtrlListView_SetItemSelected($hListView2, 0)
EndFunc
Func PropiedadesVentanaActiva()
$hVentana=WinGetHandle("[active]")
VerPropiedadesWin($hVentana)
EndFunc
Func CodigoBoton1()
$WinTitulo=GUICtrlRead($Input_1)
If $WinTitulo<>"" And $auxDarFocoEdit=0 Then
$hVentana=WinGetHandle($WinTitulo)
Else
$hVentana=$GUI
EndIf
VerPropiedadesWin($hVentana)
EndFunc
Func VerPropiedadesWin($hWin)
If $hWin<>"" Then
$hWin=HWnd($hWin)
;Da el texto de la ventana elegida
$textoVentana=StringReplace(WinGetText($hWin),@lf,@CRLF)
GUICtrlSetData($Edit_1,$textoVentana)
GUICtrlSetData($label_2,"Texto de ventana >>")
;Fin del texto de la ventana elegida
_GUICtrlListView_DeleteAllItems($hListView)
$WinStyle=_WinAPI_GetWindowLong($hWin, $GWL_STYLE)
$WinExStyle=_WinAPI_GetWindowLong($hWin, $GWL_EXSTYLE)
$WinState=WinGetState($hWin)
$WinSize=WinGetPos($hWin)
GUICtrlSetData($Input_2,WinGetTitle($hWin))
If BitAND($WinStyle,$WS_BORDER)=$WS_BORDER Then
_GUICtrlListView_AddItem($hListView, "$WS_BORDER",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_BORDER",0)
EndIf
If BitAND($WinExStyle,$WS_EX_ACCEPTFILES)=$WS_EX_ACCEPTFILES Then
_GUICtrlListView_AddSubItem($hListView,0, "$WS_EX_ACCEPTFILES",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,0, "$WS_EX_ACCEPTFILES",1, 0)
EndIf
If BitAND($WinState,2)=2 Then
_GUICtrlListView_AddSubItem($hListView,0, "VISIBLE",2, 1)
Else
_GUICtrlListView_AddSubItem($hListView,0, "VISIBLE",2, 0)
EndIf
If BitAND($WinStyle,$WS_POPUP)=$WS_POPUP Then
_GUICtrlListView_AddItem($hListView, "$WS_POPUP",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_POPUP",0)
EndIf
If BitAND($WinExStyle,$WS_EX_APPWINDOW)=$WS_EX_APPWINDOW Then
_GUICtrlListView_AddSubItem($hListView,1, "$WS_EX_APPWINDOW",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,1, "$WS_EX_APPWINDOW",1, 0)
EndIf
If BitAND($WinState,4)=4 Then
_GUICtrlListView_AddSubItem($hListView,1, "HABILITADA",2, 1)
Else
_GUICtrlListView_AddSubItem($hListView,1, "HABILITADA",2, 0)
EndIf
If BitAND($WinStyle,$WS_CAPTION)=$WS_CAPTION Then
_GUICtrlListView_AddItem($hListView, "$WS_CAPTION",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_CAPTION",0)
EndIf
If BitAND($WinExStyle,$WS_EX_CLIENTEDGE)=$WS_EX_CLIENTEDGE Then
_GUICtrlListView_AddSubItem($hListView,2, "$WS_EX_CLIENTEDGE",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,2, "$WS_EX_CLIENTEDGE",1, 0)
EndIf
If BitAND($WinState,8)=8 Then
_GUICtrlListView_AddSubItem($hListView,2, "ACTIVA",2, 1)
Else
_GUICtrlListView_AddSubItem($hListView,2, "ACTIVA",2, 0)
EndIf
If BitAND($WinStyle,$WS_CLIPCHILDREN)=$WS_CLIPCHILDREN Then
_GUICtrlListView_AddItem($hListView, "$WS_CLIPCHILDREN",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_CLIPCHILDREN",0)
EndIf
If BitAND($WinExStyle,$WS_EX_CONTEXTHELP)=$WS_EX_CONTEXTHELP Then
_GUICtrlListView_AddSubItem($hListView,3, "$WS_EX_CONTEXTHELP",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,3, "$WS_EX_CONTEXTHELP",1, 0)
EndIf
If BitAND($WinState,16)=16 Then
_GUICtrlListView_AddSubItem($hListView,3, "MINIMIZADA",2, 1)
Else
_GUICtrlListView_AddSubItem($hListView,3, "MINIMIZADA",2, 0)
EndIf
If BitAND($WinStyle,$WS_CLIPSIBLINGS)=$WS_CLIPSIBLINGS Then
_GUICtrlListView_AddItem($hListView, "$WS_CLIPSIBLINGS",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_CLIPSIBLINGS",0)
EndIf
If BitAND($WinExStyle,$WS_EX_DLGMODALFRAME)=$WS_EX_DLGMODALFRAME Then
_GUICtrlListView_AddSubItem($hListView,4, "$WS_EX_DLGMODALFRAME",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,4, "$WS_EX_DLGMODALFRAME",1, 0)
EndIf
If BitAND($WinState,32)=32 Then
_GUICtrlListView_AddSubItem($hListView,4, "MAXIMIZADA",2, 1)
Else
_GUICtrlListView_AddSubItem($hListView,4, "MAXIMIZADA",2, 0)
EndIf
If BitAND($WinStyle,$WS_DISABLED)=$WS_DISABLED Then
_GUICtrlListView_AddItem($hListView, "$WS_DISABLED",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_DISABLED",0)
EndIf
If BitAND($WinExStyle,$WS_EX_MDICHILD)=$WS_EX_MDICHILD Then
_GUICtrlListView_AddSubItem($hListView,5, "$WS_EX_MDICHILD",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,5, "$WS_EX_MDICHILD",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,5,"Posición X (left): " & $WinSize[0],2,1)
If BitAND($WinStyle,$WS_DLGFRAME)=$WS_DLGFRAME Then
_GUICtrlListView_AddItem($hListView, "$WS_DLGFRAME",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_DLGFRAME",0)
EndIf
If BitAND($WinExStyle,$WS_EX_OVERLAPPEDWINDOW)=$WS_EX_OVERLAPPEDWINDOW Then
_GUICtrlListView_AddSubItem($hListView,6, "$WS_EX_OVERLAPPEDWINDOW",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,6, "$WS_EX_OVERLAPPEDWINDOW",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,6,"Posición Y (top): " & $WinSize[1],2,1)
If BitAND($WinStyle,$WS_HSCROLL)=$WS_HSCROLL Then
_GUICtrlListView_AddItem($hListView, "$WS_HSCROLL",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_HSCROLL",0)
EndIf
If BitAND($WinExStyle,$WS_EX_STATICEDGE)=$WS_EX_STATICEDGE Then
_GUICtrlListView_AddSubItem($hListView,7, "$WS_EX_STATICEDGE",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,7, "$WS_EX_STATICEDGE",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,7,"Ancho (width): " & $WinSize[2],2,1)
If BitAND($WinStyle,$WS_MAXIMIZE)=$WS_MAXIMIZE Then
_GUICtrlListView_AddItem($hListView, "$WS_MAXIMIZE",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_MAXIMIZE",0)
EndIf
If BitAND($WinExStyle,$WS_EX_TOPMOST)=$WS_EX_TOPMOST Then
_GUICtrlListView_AddSubItem($hListView,8, "$WS_EX_TOPMOST",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,8, "$WS_EX_TOPMOST",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,8,"Alto (height): " & $WinSize[3],2,1)
If BitAND($WinStyle,$WS_MAXIMIZEBOX)=$WS_MAXIMIZEBOX Then
_GUICtrlListView_AddItem($hListView, "$WS_MAXIMIZEBOX",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_MAXIMIZEBOX",0)
EndIf
If BitAND($WinExStyle,$WS_EX_TRANSPARENT)=$WS_EX_TRANSPARENT Then
_GUICtrlListView_AddSubItem($hListView,9, "$WS_EX_TRANSPARENT",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,9, "$WS_EX_TRANSPARENT",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,9,"Handle: " & WinGetHandle($hWin),2,1)
If BitAND($WinStyle,$WS_MINIMIZE)=$WS_MINIMIZE Then
_GUICtrlListView_AddItem($hListView, "$WS_MINIMIZE",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_MINIMIZE",0)
EndIf
If BitAND($WinExStyle,$WS_EX_TOOLWINDOW)=$WS_EX_TOOLWINDOW Then
_GUICtrlListView_AddSubItem($hListView,10, "$WS_EX_TOOLWINDOW",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,10, "$WS_EX_TOOLWINDOW",1, 0)
EndIf
_GUICtrlListView_AddSubItem($hListView,10,"Proceso: " & WinGetProcess($hWin),2,1)
If BitAND($WinStyle,$WS_MINIMIZEBOX)=$WS_MINIMIZEBOX Then
_GUICtrlListView_AddItem($hListView, "$WS_MINIMIZEBOX",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_MINIMIZEBOX",0)
EndIf
If BitAND($WinExStyle,$WS_EX_WINDOWEDGE)=$WS_EX_WINDOWEDGE Then
_GUICtrlListView_AddSubItem($hListView,11, "$WS_EX_WINDOWEDGE",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,11, "$WS_EX_WINDOWEDGE",1, 0)
EndIf
If BitAND($WinStyle,$WS_OVERLAPPED)=$WS_OVERLAPPED Then
_GUICtrlListView_AddItem($hListView, "$WS_OVERLAPPED",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_OVERLAPPED",0)
EndIf
If BitAND($WinExStyle,$WS_EX_LAYERED)=$WS_EX_LAYERED Then
_GUICtrlListView_AddSubItem($hListView,12, "$WS_EX_LAYERED",1, 1)
Else
_GUICtrlListView_AddSubItem($hListView,12, "$WS_EX_LAYERED",1, 0)
EndIf
If BitAND($WinStyle,$WS_OVERLAPPEDWINDOW)=$WS_OVERLAPPEDWINDOW Then
_GUICtrlListView_AddItem($hListView, "$WS_OVERLAPPEDWINDOW",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_OVERLAPPEDWINDOW",0)
EndIf
If BitAND($WinStyle,$WS_POPUPWINDOW)=$WS_POPUPWINDOW Then
_GUICtrlListView_AddItem($hListView, "$WS_POPUPWINDOW",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_POPUPWINDOW",0)
EndIf
If BitAND($WinStyle,$WS_SIZEBOX)=$WS_SIZEBOX Then
_GUICtrlListView_AddItem($hListView, "$WS_POPUPWINDOW",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_POPUPWINDOW",0)
EndIf
If BitAND($WinStyle,$WS_SYSMENU)=$WS_SYSMENU Then
_GUICtrlListView_AddItem($hListView, "$WS_SYSMENU",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_SYSMENU",0)
EndIf
If BitAND($WinStyle,$WS_THICKFRAME)=$WS_THICKFRAME Then
_GUICtrlListView_AddItem($hListView, "$WS_THICKFRAME",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_THICKFRAME",0)
EndIf
If BitAND($WinStyle,$WS_VSCROLL)=$WS_VSCROLL Then
_GUICtrlListView_AddItem($hListView, "$WS_VSCROLL",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_VSCROLL",0)
EndIf
If BitAND($WinStyle,$WS_VISIBLE)=$WS_VISIBLE Then
_GUICtrlListView_AddItem($hListView, "$WS_VISIBLE",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_VISIBLE",0)
EndIf
If BitAND($WinStyle,$WS_CHILD)=$WS_CHILD Then
_GUICtrlListView_AddItem($hListView, "$WS_CHILD",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_CHILD",0)
EndIf
If BitAND($WinStyle,$WS_GROUP)=$WS_GROUP Then
_GUICtrlListView_AddItem($hListView, "$WS_GROUP",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_GROUP",0)
EndIf
If BitAND($WinStyle,$WS_TABSTOP)=$WS_TABSTOP Then
_GUICtrlListView_AddItem($hListView, "$WS_TABSTOP",1)
Else
_GUICtrlListView_AddItem($hListView, "$WS_TABSTOP",0)
EndIf
If BitAND($WinStyle,$DS_MODALFRAME)=$DS_MODALFRAME Then
_GUICtrlListView_AddItem($hListView, "$DS_MODALFRAME",1)
Else
_GUICtrlListView_AddItem($hListView, "$DS_MODALFRAME",0)
EndIf
If BitAND($WinStyle,$DS_SETFOREGROUND)=$DS_SETFOREGROUND Then
_GUICtrlListView_AddItem($hListView, "$DS_SETFOREGROUND",1)
Else
_GUICtrlListView_AddItem($hListView, "$DS_SETFOREGROUND",0)
EndIf
If BitAND($WinStyle,$DS_CONTEXTHELP)=$DS_CONTEXTHELP Then
_GUICtrlListView_AddItem($hListView, "$DS_CONTEXTHELP",1)
Else
_GUICtrlListView_AddItem($hListView, "$DS_CONTEXTHELP",0)
EndIf
Else
MsgBox(16,"No existe la ventana","La ventana que ha puesto no existe.")
EndIf
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hListView2
Switch $iCode ;esto lo hago para coger de la lista el item seleccionado. Se puede cambiar la selección del item con el teclado o el ratón, detecta cualquier cambio en los items.
Case $LVN_ITEMCHANGED
$tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
$ItemSeleccionado=DllStructGetData($tInfo, "Index")
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg
Local $iIDFrom, $iCode, $hWndEdit
$hWndEdit = GUICtrlGetHandle($Input_1)
$iIDFrom = _WinAPI_LoWord($iwParam)
$iCode = _WinAPI_HiWord($iwParam)
Switch $ilParam
Case $hWndEdit
Switch $iCode
Case $EN_SETFOCUS ;si recibe el foco el control Input_1 entra aquí.
If $auxDarFocoEdit Then ;esta variable es para realizar este código solamente 1 vez.
GUICtrlSetData($Input_1,"") ;Borro el contenido del Input.
GUICtrlSetColor($Input_1,0) ;Cambio el color del texto del Input a negro.
$auxDarFocoEdit=0
EndIf
EndSwitch
Case 0 ;cuando le doy a la tecla enter entra aquí.
Switch ControlGetFocus($GUI) ;miro la clase del objeto que contiene el foco.
Case "Edit1" ;si la clase es del Input_1 ejecuta el código de la función CodigoBoton1().
CodigoBoton1()
Case "SysListView322" ;si la clase es del objeto hListView2 ejecuta el código del button_2.
$hVentana=HWnd(_GUICtrlListView_GetItemText($hListView2,$ItemSeleccionado,1))
VerPropiedadesWin($hVentana)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND