He comprobado el ClassName de todas las aplicaciones que tengo y jamás me ha aparecido el ThunderRT6... o WindowsForms10.Window.8... típico de formularios de VB. Luego ¿Nadie programa con VB?
La conclusión a la que has llegado no es acertada, el "prefijo"
WindowsForms10 del nombre de la clase de ventana se refiere a la versión de la tecnología
Windows Forms (10), y esto a su vez indica que se trata de una app que está desarrallada bajo cualquier lenguaje soportado por dicha tecnología (como por ejemplo
C#), no tiene por que ser
Vb.Net, por ende, no tiene sentido pensar que nadie programa en
Vb.Net (o
C#) solamente por no encontrar ese tipo de classname en las aplicaciones instaladas en un PC cualquiera.
Para
Microsoft, cada ventana debe tener un nombre de clase de ventana único para evitar colisiones con otros nombres de clase de ventana en otros procesos, es por ese motivo que en la implementación de
WindowsForms los nombres de classes se autogeneran dinamicamente siguiendo estas reglas de identificación de ventana:
<windowsformsversion>.<windowstyle>.app<hexappdomainhash>
No es posible asignar un nombre distinto de forma arbitraria, pero por otro lado, para la mayoría de classes que implementan la interfáz
IWin32Window (como
Form, o
Control) se puede
hackear el identificador del estilo de ventana (
<windowstyle>) de forma sencilla mediante el uso de la propiedad que controla los parámetros de la ventana, conocida como
CreateParams), de la siguiente manera:
Public NotInheritable Class Form2 : Inherits Form
Protected Overrides ReadOnly Property CreateParams As CreateParams
Get
MyBase.CreateParams.ClassName = "BUTTON" ' WindowsForms10.BUTTON.app***
Return MyBase.CreateParams
End Get
End Property
End Class
También podemos crear una simple ventana Win32 y podemos registrar un nombre de clase para dicha ventana con la función
RegisterClassEx de la
API de
Microsoft Windows como ya ha mencionado el compañero @
Kub0x (aunque basicamente esto en realidad es una colección de valores o flags que determinan el estilo de ventana), es algo más tedioso, así que he buscado un ejemplo ya desarrollado para mostrar:
PD: En
WPF,
UWP, y otras tecnologías de
Microsoft, imagino que la mecánica o estructura de los
classnames será más o menos la misma que en
Windows Forms, no me he llegado a fijar nunca en si hay un patrón, pero no hay motivo para pensar lo contrario.
Saludos!