Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar DELPHI para implementar operaciones clave en segundo plano

Cómo utilizar DELPHI para implementar operaciones clave en segundo plano

Si usa un temporizador, no tiene nada que ver con la minimización y aún así debería admitir la minimización de forma nativa.

SendMessage es posible, pero debes enviar el mensaje a la ventana correspondiente.

Consulte el siguiente código:

El primer parámetro de PostKeyExHWND es el identificador de control de WebBrowser.

procedimiento PostKeyEx32(clave: Word; cambio constante: TShiftState; clave especial: Boolean);

{****************** ********************** *******************

* Procedimiento PostKeyEx32

*

* Parámetros:

* clave: El código de clave virtual de la clave que se enviará. Para claves

* imprimibles, este es solo el código ANSI (Ord(Character)).

*shift: Modifica el estado de la clave. Esta es una colección, por lo que

* puedes configurar varias de estas teclas (mayúsculas, control, alt,

* botones del mouse) en serie. Esta es una colección, por lo que

* puedes configurar varias de estas teclas (mayúsculas, control, alt,

* botones del mouse) en serie. El tipo TShiftState se declara en la unidad de clase

*.

* tecla especial: Normalmente debería ser Falso, como especificar una tecla en un teclado numérico.

* Descripción:

* Utilice keybd_event para crear una serie de eventos clave que coincidan con los parámetros pasados ​​por

*.

* Tenga en cuenta que, para los caracteres, la clave es siempre la versión en mayúscula del carácter

*.

Enviar sin teclas modificadoras dará como resultado

* un carácter en minúscula, enviar con [ssShift] dará como resultado

* un carácter en mayúscula.

* El evento irá al control enfocado: Byte;

vkey:

end;

byteset = conjunto de 0. ..7;

const

teclas de cambio: matriz [1...3] de TShiftKeyInfo =

((shift:Ord(ssCtrl); vkey: VK_CONTROL),

(shift: (shift: Ord(ssShift); vkey: VK_SHIFT),

(shift: vkey: VK_MENU)),

( cambio: Ord(ssAlt):VK_MENU));

var

bandera: DWORD;

bShift: ByteSet cambio absoluto;

i:Entero;

comenzar

para i:= 1 a 3

comenzar

si las teclas Mayús[i].cambiar en bShift luego

keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);

end { For }

si es una clave especial, entonces

bandera := KEYEVENTF_EXTENDEDKEY

else

bandera := 0;

keybd_event(clave, MapvirtualKey (clave, 0), bandera, 0);

bandera := bandera o KEYEVENTF_KEYUP;

keybd_event(clave, MapvirtualKey( clave, 0), bandera, 0);

for i := 3 downto 1 do

Esta es la primera vez que uso keybd. p> comenzar

si shiftkeys[i].shift en bShift entonces

keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), p>

KEYEVENTF_KEYUP, 0);

fin; { Para }

fin; { PostKeyEx32 }

procedimiento TForm1.Button1Click(Sender. TObjeto);