Power Builder - Si ejecuto tab con: Send (Handle (this), 256, 9, 0

 
Vista:

Si ejecuto tab con: Send (Handle (this), 256, 9, 0

Publicado por elvis (24 intervenciones) el 03/06/2005 22:12:15
Buenas a todos y todas.

Mi pregunta es la siguiente:

Sin con 'Send (Handle (this), 256, 9, 0) ', emulo como si hubiera presionado la tecla TAB

1 -Cual sería el codigo para ejecutar PrintScreen. ?
2-Cual sería el codigo para ejecutar Alt. ?

Tambien vi en el foro esta ota opción:
Enviar un SHIFT+TAB

1. Declaras en Local External Fuctions:
function boolean GetKeyboardState (ref char kbarray[256]) library "user32.dll"
function boolean SetKeyboardState (ref char kbarray[256]) library "user32.dll"

2. Script en el control DW:
char lc_kb[256]

GetKeyboardState (lc_kb)
lc_kb[17] = Char (128)
SetKeyboardState (lc_kb)

Send (Handle (this), 256, 9, 0)

GetKeyboardState (lc_kb)
lc_kb[17] = Char (0)
SetKeyboardState (lc_kb)

Pero no entiendo en que parte se señanal la tecla específica , cual será su valor en char.


Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Si ejecuto tab con: Send (Handle (this), 256, 9

Publicado por Oscar (1178 intervenciones) el 04/06/2005 16:33:00
Dichos numeros se obtienen del Windows.h. Pare el caso del teclado es:

#define WM_KEYDOWN 0x0100 -------->Decimal 256
Luego las teclas son:

Tecla y Virtual Key................... Hexadecimal....Decimal
Tab: VK_TAB.......................................09.............9
Print Screen: VK_SNAPSHOT……....2C...........44
Alt: VK_MENU ..................................18............12

Pero porqué mejor no nos dices, exactamente qué quieres hacer, ya que se puede utlizar la API. keybd_event.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Si ejecuto tab con: Send (Handle (this), 256, 9

Publicado por elvis (24 intervenciones) el 04/06/2005 18:01:30

Muchas Garias compañero oscar,

lo que deseo exactamente hacer es ejecutar PrintScrenn y Alt+Print Screen desde un boton desme mi ventana.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Capturar pantalla desde PB (Print Screen)

Publicado por Oscar (1178 intervenciones) el 04/06/2005 18:50:27
Para capturar la pantalla desde PB:

1. Declará en Local o Global External Functions:

SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) LIBRARY "user32.dll"

2. Script en los botones:

//Equivalente a pulsar la tecla: Print Screen
keybd_event( 44, 0, 0, 0 )

// Equivalente a pulsar la tecla: ALT+Print Screen
keybd_event( 44, 1, 0, 0 )

3. Ahora si deseas ver tu captura en tu propia ventana, insertá un control RichTextEdit (rte_1) y en un botón pegá el siguiente script:

// Equivalente a pulsar : CTRL+V:
rte_1.setfocus()
send(handle(rte_1),770,0, 0)


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Capturar pantalla desde PB (Print Screen)

Publicado por elvis (24 intervenciones) el 04/06/2005 20:07:10
Muchas gracias, exactamente lo que ocupaba.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar