Un asa es una referencia para el sistema operativo. No tiene la semántica de una referencia de programación, pero lo que sí hace es permitir que los recursos del sistema sepan a qué se refiere cuando se pasa en una llamada API.
Por lo general, el MANGO se envuelve en una instancia de una clase. CWnd es un buen ejemplo, contiene un HWND que maneja una ventana.
Puede hacerlo. CWnd * pWnd = CWnd :: FromHandle (hWnd) Nota: CWnd :: FromHandle (hWnd) es estático y no requiere una instancia.
Te devolverá la envoltura que envuelve al hWnd. Bueno, no del todo! Si el mango no está realmente envuelto por un objeto, lo creará Y SÓLO SERÁ TEMPORAL. Así que úsala una vez y luego tírala. Puede crear la instancia porque el hWnd tiene suficiente información en su estructura para que Windows cree una instancia de un objeto CWnd. No lo agrega a la tabla de objetos handle v, por lo que solo es temporal.
El HWND es, de hecho, un objeto kernel y hay más?HWND (clases derivadas de CWnd y CWnd) HDC (clases derivadas de CDC y CDC) HMENU (CMenu) HPEN (CGdiObject) HBRUSH (CGdiObject) HFONT (CGdiObject) HBITMAP (CGdiObject) HPALETTE (CGdiObject) HRGN (CGdiObject) HIMAGELIST (CImageList) SOCKET (CSocket) (¿Debería haber sido HSOCKET?) + Otros. No estoy seguro de si todos estos devolverían un objeto temporal si es necesario. GetDC (hWnd) obtendrá un hDC de un hWnd pero será temporal, probablemente sea mejor usar el CDC claa.
Leer más: http://wiki.answers.com/Q/What_is_a_handle_in_Windows_Programming#ixzz1JBmoF0lv
Este es un duplicado de http://stackoverflow.com/questions/902967/what-is-a-windows-handle, que, a pesar de no tener una respuesta aceptada proporciona la información estas buscando. –
Posible duplicado de: http://stackoverflow.com/questions/902967/what-is-a-windows-handle – ChrisWue
Los identificadores no son algo de .NET. Son cosas de Windows. – BoltClock