Nombre de clase (classname) de las aplicaciones Office

El manejador de una ventana («Window handler«) es útil en muchos contextos (por ejemplo, para abrir un cuadro de diálogo asociado con una ventana). Para obtener este valor podemos utilizar la funcion FindWindow del API de Windows. Esta función espera dos parámetros: El nombre de clase y el título de la ventana de la que deseamos obtener el manejador.

En las aplicaciones Office, el título lo podemos obtener, por ejemplo, mediante la propiedad Caption del objeto Application [al menos en Word y Excel. En Access con la expresión CurrentDb.Properties(«AppTitle»)], por lo que sólo nos queda el parámetro classname y aunque existe un función en el API de Windows con la que podemos obtener el nombre de la clase (GetClassName), no nos es de mucha utilidad para este caso porque uno de los parámetros que necesita esta función es precisamente el que deseamos obtener: el manejador de la ventana.

En fin, que buscando en la red (www.google.com/search?q=window+class+names+office), encontré los nombres de clase de las aplicaciones Office y quiero ponerlos aquí agrupados para tenerlos a mano. Son estos:

Aplicación Version Window Class Name
Access 97 OMain
Access 2000 OMain
Access XP OMain
Access 2003 OMain
Access 2007 OMain
Excel 97 XLMAIN
Excel 2000 XLMAIN
Excel XP XLMAIN
Excel 2003 XLMain
Excel 2007 XLMain
Front Page 2000 FrontPageExplorerWindow40
Front Page XP FrontPageExplorerWindow40
Front Page 2003 FrontPageExplorerWindow40
Expression Web 2007 FrontPageExplorerWindow40
SharePoint Designer 2007 FrontPageExplorerWindow40
InfoPath 2003 Framework::CFrame
InfoPath 2007 Framework::CFrame
Outlook 97 rctrl_renwnd32
Outlook 98 rctrl_renwnd32
Outlook 2000 rctrl_renwnd32
Outlook XP rctrl_renwnd32
PowerPoint 95 PP7FrameClass
PowerPoint 97 PP97FrameClass
PowerPoint 2000 PP9FrameClass
PowerPoint XP PP10FrameClass
PowerPoint 2003 PP11FrameClass
PowerPoint 2007 PP12FrameClass
Project 98 JWinproj-WhimperMainClass
Project 2000 JWinproj-WhimperMainClass
Project 2003 JWinproj-WhimperMainClass
Project 2007 JWinproj-WhimperMainClass
Publisher 2003 MSWinPub
Publisher 2007 MSWinPub
Userform 97 ThunderXFrame
Userform 2000 ThunderDFrame
Userform 2003 ThunderDFrame
Visio 2003 VISIOA
Visio 2007 VISIOA
Visual Basic Editor wndclass_desked_gsk
Word 97 OpusApp
Word 2000 OpusApp
Word XP OpusApp
Word 2003 OpusApp
Word 2007 NetUIHWND

Fuentes:

Edición 2014-03-20

Quito el enlace a www.thecodenet.com porque, hoy, no apunta al artículo en el que me basé. Sólo contiene enlaces publicitarios.

Comentarios (2) »

  1. alejandro | 20-marzo-2014 7:42 pm

    gracias, me sirvió, en visual basic 6 , hay un programa que se llama spy con el que se puede ver la información de los procesos abiertos, incluyendo el classname, yo estaba corroborando esto

  2. David Cantón | 20-marzo-2014 9:08 pm

    Gracias por tu comentario, Alejandro

Generador RSS para los comentarios de este artículo

Envía un comentario sobre Nombre de clase (classname) de las aplicaciones Office