Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2015
albelg albelg is offline
Miembro
 
Registrado: May 2015
Posts: 21
Poder: 0
albelg Va por buen camino
Question presionar tecla

hola amigos del delphi, estoy en un proyecto donde necesito simular la pulsacion de las teclas Ctrl+D en otro equipo al cual me conecto via telnet.
Por ejemplo: si necesito enviarle el comando "xx" por telenet lo hago de esta forma: (idtelnet.writeln('xx')) y listo; pero se complica cuando quiero enviarle Ctrl+D por la misma via.

gracias a todos de antemano y me gustaria q me pudieran ayudar con eso.
Responder Con Cita
  #2  
Antiguo 02-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 10
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
y para que necesitas el control + d? no por curioso, sino porque me la da sensacion de que "necesito mandar control + v" (o cualquiera letra), la pregunta de fondo es "necesito pegar lo del cortapapeles"

Como esta implementado el servidor telnet al que te comunicas? Es implementacion tuya o de terceros? Podrias mandar un comodin e interpretarlo como control+d en el lado del server
Responder Con Cita
  #3  
Antiguo 03-09-2015
albelg albelg is offline
Miembro
 
Registrado: May 2015
Posts: 21
Poder: 0
albelg Va por buen camino
agustinortu: soy ingeniero en telecomunicaciones y trabajo en una empresa telefonica cubana. te digo esto porque para interactuar con la central telefonica se le envian comandos propios de ellas por telnet. El problema consiste en que luego de cada comando que se le de a la central hay que darle ctrl+d para que la central te de la respuesta, pero yo estoy confeccionando un proyectico.exe que evite al usuario enfrentarse a esa interfaz tan hostil como esa de dar comandos por telnet. Mi intencion es que el usuario presione un boton X y que por detras se envien una serie de comandos a dicha central.
gracias.
Responder Con Cita
  #4  
Antiguo 03-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 10
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Creo que esto te puede servir
http://stackoverflow.com/questions/1...n-using-winapi

Cuando vuelva a casa con Delphi lo pruebo
Responder Con Cita
  #5  
Antiguo 03-09-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: May 2003
Ubicación: Ciudad de México
Posts: 20.181
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
En el enlace que pone AgustinOrtu aparece la función keybd_event, que te puede servir. Incluso aquí en el Club podrás encontrar referencias a su uso.

Es posible que, en particular, te sirva este hilo, mensaje #4, aunque desafortunadamente la persona que preguntó originalmente no constató si servía el método. En resumen se tara de mandar los caracteres de control mediante su código ascii: ^D = 4, por ejemplo.

// Saludos
Responder Con Cita
  #6  
Antiguo 05-09-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: Nov 2007
Posts: 1.937
Poder: 13
escafandra Va camino a la famaescafandra Va camino a la fama
Este código con la API SendInput, es preferible al uso de keybd_event

Código Delphi [-]
procedure SimKey(VK: BYTE; Down: boolean);
var
  Input: TInput;
begin
  ZeroMemory(@Input, sizeof(Input));
  Input.iType:= INPUT_KEYBOARD;
  Input.ki.wVk:= VK;
  Input.ki.wScan:= MapVirtualKey(VK, 0);
  Input.ki.dwFlags:= KEYEVENTF_EXTENDEDKEY;
  if not Down then
    Input.ki.dwFlags:= Input.ki.dwFlags or KEYEVENTF_KEYUP;
  windows.SendInput(1, tagINPUT(Input), sizeof(TInput));
end;

Ejemplo de uso:
Código Delphi [-]

SimKey(VK_CONTROL, true);
SimKey('D', true);
SimKey(VK_CONTROL, false);
SimKey('D', false);


Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Presionar "n" veces una tecla con click derecho Olenkaguilar Varios 5 18-12-2014 05:34:39
Ejecutar archivo ayuda en un form al presionar tecla F1 Jere_84 Varios 2 24-07-2014 11:07:19
Capturar la tecla Enter en una Notebook, sin tener que presionar Shift o Ctrl. Subliminalz Varios 3 05-05-2013 06:48:52
saber que tecla se presiona despues de X tecla amadis OOP 9 04-01-2008 13:16:35
Cambiar la tecla TAB por la tecla ENTER al pasar de controles dec Trucos 0 30-06-2006 13:43:03


La franja horaria es GMT +2. Ahora son las 18:38:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi