0
No es muy difícil obtener el Handle en PowerCOBOL v3:COBOL Código:
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-HWND-P PIC S9(9) COMP-5. 01 WS-HWND-C PIC S9(9) COMP-5. PROCEDURE DIVISION. CALL "GetActiveWindow" WITH STDCALL MOVE PROGRAM-STATUS TO WS-HWND-P CALL "GetDlgItem" WITH STDCALL USING BY VALUE WS-HWND-P BY VALUE 1. *> Id orden del control MOVE PROGRAM-STATUS TO WS-HWND-C
Si queremos buscar antes el control por su texto, hacemos:COBOL Código:
WORKING-STORAGE SECTION. 01 WS-TEXTO PIC X(50). 01 WS-HWND-P PIC S9(9) COMP-5. 01 WS-ID PIC S9(9) COMP-5. PROCEDURE DIVISION. CALL "GetDlgItemTextA" WITH STDCALL USING BY VALUE WS-HWND-P BY VALUE WS-ID BY REFERENCE WS-TEXTO BY VALUE 50
Donde WS-ID es el orden del control (1, 2, 3 etc.) y obtenemos su texto en WS-TEXTO. Cuidado que viene un con X"00" al final (si no me equivoco).
Marcadores