Ver Mensaje Individual
  #9
Antiguo 22 de diciembre de 2015, 09:15
Galileo
Forero Junior
Última Actividad 22.01.2021 11:39
Posts Posts: 38
Likes enviados Enviados: 20
Likes recibidos Recibidos: 41

Vale, ya he probado el código Kuk. Pero no consigo que funcione el copy.

Código COBOL:
  1.  ENVIRONMENT DIVISION.
  2.  DATA        DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  WS-HWND-P  PIC S9(9) COMP-5.
  5.  01  WS-HWND-C  PIC S9(9) COMP-5.
  6.  01  WS-TEXTO   PIC X(50).
  7.  01  WM_CUT     PIC S9(9) COMP-5 VALUE 768.  
  8.  01  WM_COPY    PIC S9(9) COMP-5 VALUE 769.  
  9.  01  WM_PASTE   PIC S9(9) COMP-5 VALUE 770.  
  10.  
  11.  PROCEDURE DIVISION.
  12.      CALL SETFOCUS OF EDIT1. <* Este es el control con el texto que quiero copiar
  13.      CALL "GetActiveWindow" WITH STDCALL.
  14.      MOVE PROGRAM-STATUS TO WS-HWND-P.
  15.  
  16.      CALL "GetDlgItem" WITH STDCALL USING BY VALUE WS-HWND-P BY VALUE 1.
  17.      MOVE PROGRAM-STATUS TO WS-HWND-C.
  18.  
  19.      CALL "GetDlgItemTextA" WITH STDCALL USING BY VALUE WS-HWND-P BY VALUE 1 BY REFERENCE WS-TEXTO BY VALUE 50.
  20.      CALL DISPLAYMESSAGE OF SHEET1 USING WS-TEXTO. <* Muestra el texto del control
  21.  
  22.      CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HWND-C BY VALUE WM_COPY BY VALUE 0 BY VALUE 0.

Abro el bloc de notas y, cuando intento pegar el contenido del portapapeles, este aparece como vacío.
Galileo is offline   Responder Con Cita