RE:para que sirve el handle
Toda ventana en Windows tiene un indicador único denominado handle . Todo en Windows es una ventana, un botón, un cuadro de texto, o cualquier otro elemento visual de Windows es una ventana y toda ventana tiene un handle.
Dicho de otra manera, un handle es un número interno que usa Windows para referirse a un elemento específico manejado que está siendo manejado por el sistema.
Estos códigos o números no son establecidos por el programa, tampoco son valores constantes; son determinados por el sistema, que genera nuevos valores cada vez que se ejecuta un programa. Por eso, muchas API's tienen un handle como primer parámetro
En esta página, explica muy claramente lo que es un Handle y permite averiguar el handle de una ventana.
http://www.marcocantu.com/epascal/Spanish/ch09win.htm
Nosotros en PB, podemos averiguar el handle (número) de una ventana, con la API FindWindow si conocemos el nombre de la ventana (por ejemplo, cuando se ejecuta la calculadora).
Ejemplo:
1. Declarar en Local o Global externals functions:
FUNCTION ULong FindWindowA(ULong classname, String windowname) LIBRARY "user32.dll"
2. Script:
Ulong lu_numero
String ls_nombre
//Nombre de la ventana
ls_nombre = "Calculadora"
//Se le pasa un valor null o cero
lu_numero = FindWindowA( 0, ls_nombre )
//Muestra el numero de handle de la ventana
messagebox("Handle", string(lu_numero))
//-----------------Fin-------------------------
Nota: Si haces la prueba ese número cambia, cada vez que se ejecuta la calculadora.