Fórum CTRL + C com Gauge/Progress bar #391209
24/11/2010
0
.
Alguem ai sabe como posso fazer isso?
.
Ja consegui fazer a simulação de teclas e ta funcionando direitinho... o problema eh o gauge....
.
Murillo Mayer
Curtir tópico
+ 0Posts
25/11/2010
Leonardo Xavier
Gostei + 0
25/11/2010
Murillo Mayer
.
Resumindo quero isso aki:
SimularPrecionamento(CTRL + C);
gauge1.active := true;
Aí, quero uma rotina q intercepte esse precionamento e acompanhe a tranferência dos dados para a memória, e quando terminar a transferência dos dados, o gauge tem q estar em 100 %, aí...
gauge1.active := false;
Memo1.setFocus;
SimularPrecionamento(CTRL + V);
Ou seja, quero copiar um texto (de tamanho variável) para um Memo.
O Texto que será copiado é .pdf (configurado para leitura).
Como o andamento da cópia do texto pode ter tempo variável, quero acompanhar o acontecimento, pra poder liberar a procedure de CTRL+V só quando o arquivo já estiver na memória.
Tentar fazer Memo1.lines.LoadFromFile('arquivo.pdf') não resolve.....
Entendeu?
Gostei + 0
27/11/2010
Murillo Mayer
Gostei + 0
29/11/2010
Leonardo Xavier
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
crtlc:string;
begin
crtlc:=chr(13);
ShowMessage('CTRL'+crtlc+'precionado');
end;
Gostei + 0
30/11/2010
Murillo Mayer
.
Bom, uso a procedure abaixo pra simular o pressionamento das teclas...
procedure TFLeitor.PostKeyEx32(Key: Word; const Shift: TShiftState; SpecialKey: boolean); type TShiftKeyInfo = Record shift: Byte; vkey : Byte; End; byteset = Set of 0..7; const ShiftKeys: array [1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl); vkey: VK_CONTROL ), (shift: Ord(ssShift); vkey: VK_SHIFT ), (shift: Ord(ssAlt); vkey: VK_MENU )); var Flag: DWORD; bShift: ByteSet absolute shift; i: Integer; begin for i := 1 to 3 do begin if shiftkeys[i].shift in bShift then Keybd_Event(ShiftKeys[i].vkey, MapVirtualKey(ShiftKeys[i].vkey, 0), 0, 0); end; // for if SpecialKey Then Flag := KEYEVENTF_EXTENDEDKEY else Flag := 0; Keybd_Event(Key, MapvirtualKey(Key, 0), Flag, 0); Flag := Flag or KEYEVENTF_KEYUP; Keybd_Event(Key, MapvirtualKey(Key, 0), Flag, 0); for i := 3 DownTo 1 do begin if ShiftKeys[i].shift in bShift then Keybd_Event(shiftkeys[i].vkey,MapVirtualKey(ShiftKeys[i].vkey, 0),KEYEVENTF_KEYUP, 0); end; // for end; // PostKeyEx32
A única forma q encontrei pra fazer a simulação no D7...
.
Não tem alguma mensagem q dá pra interceptar logo depois da simulação? Tipo, quando faço [CTRL + A] + [CTRL + C] em um arquivo .pdf gde, na parte inferior dele tem o bendido gaugezinho... será q dá pra interceptar ele?..
.
Bom, valeu pela força.... nem sonho como dá pra fazer isso... e pelo visto, poucos programadores se preocupam com isso....
.
abç.;
Gostei + 0
11/08/2011
Hudson Cardoso
estou fazendo um software quw faz exatamente isso, meu unico problema é que nao estou encontrando o codigo da tecla C
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)