|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
leo_bruno Profissional
Registrado: Sexta-Feira, 16 de Abril de 2010 Mensagens: 666
|
Enviada: Sex Mar 25, 2011 9:26 am Assunto: [resolvido] hotkey usando alfanumerico e caracter n imprim. |
|
|
Olá pessoal:
Estou precisando de mais essa forcinha ...
Eu preciso criar um atalho pra quendo se pressionar CONTROL + SHIFT + M,
executa uma aplicacao externa.
Essa combinacao de teclas, estao sendo passadas para a aplicacao por uma tecla de um controle remoto usb.
Nao tenho como alterar a combinacao, entao terei q fazer funcionar com essas teclas.
Primeiro eu tentei fazer usando os eventos on key press e on key down, mas um deles aceita os carateres imprimiveis e o outro nao aceita as teclas control e shift.
Eu consegui fazer funcionar usando control + shift + f11 com o seguinte codigo:
Código: |
unit UfrmonitorControleRemoto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TfrmonitorControleRemoto = class(TForm)
lbl1: TLabel;
btn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
procedure WMHotkey(var Msg: TWMHotkey); message WM_HOTKEY;
public
{ Public declarations }
end;
var
frmonitorControleRemoto: TfrmonitorControleRemoto;
implementation
{$R *.dfm}
procedure TfrmonitorControleRemoto.WMHotkey(var Msg: TWMHotkey);
begin
case Msg.HotKey of
1: WinExec('calc.exe', SW_SHOW);
end;
end;
procedure TfrmonitorControleRemoto.FormCreate(Sender: TObject);
begin
if not RegisterHotkey(Handle, 1, MOD_CONTROL or MOD_SHIFT, VK_F11) then
ShowMessage('Erro ao programar Ctrl+Shift+F11');
end;
procedure TfrmonitorControleRemoto.FormDestroy(Sender: TObject);
begin
UnRegisterHotkey(Handle, 1);
end;
end.
|
Mas como ja disse, tem q ser cntrl + shift + m ...
Alguem sabe se tem jeito ?
Obrigado mais uma vez ...
Editado pela última vez por leo_bruno em Sex Mar 25, 2011 10:20 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
NalDinHuU Colaborador
Registrado: Segunda-Feira, 26 de Julho de 2010 Mensagens: 1294 Localização: João Pessoa/PB
|
Enviada: Sex Mar 25, 2011 9:39 am Assunto: |
|
|
Já tentou referenciar o F11 como caractere binário? sem ser o Virtual Key, use a referência hexadecimal; _________________ Try
Topic.Resolve;
Finally
Topic.Caption := Topic.Caption + '[RESOLVIDO]'; |
|
Voltar ao Topo |
|
|
leo_bruno Profissional
Registrado: Sexta-Feira, 16 de Abril de 2010 Mensagens: 666
|
Enviada: Sex Mar 25, 2011 10:00 am Assunto: |
|
|
NalDinHuU escreveu: | Já tentou referenciar o F11 como caractere binário? sem ser o Virtual Key, use a referência hexadecimal; |
O código que eu passei aí funciona, o problema é que eu preciso substituir o
F11 por M ...
Apenas trocar VK_F11 por VK_M nao adianta, pois ele nao aceita.
Entao, preciso achar outro caminho pra fazer ...
Certeza que se tiver jeito, alguem aki do forum ja deve ter feito , provavelmente com combinacoes de tecla diferentes, por exemplo :
Control + alt + R ou outro parecido ... |
|
Voltar ao Topo |
|
|
NalDinHuU Colaborador
Registrado: Segunda-Feira, 26 de Julho de 2010 Mensagens: 1294 Localização: João Pessoa/PB
|
Enviada: Sex Mar 25, 2011 10:11 am Assunto: |
|
|
O Que eu quis dizer foi que, além de poder referenciar as teclas pelas Virtual Keys (VK) você pode referenciar pelo valor Hexadecimal, isso pode resolver seu problema, porque o valor hexadecimal não é imprimível; _________________ Try
Topic.Resolve;
Finally
Topic.Caption := Topic.Caption + '[RESOLVIDO]'; |
|
Voltar ao Topo |
|
|
leo_bruno Profissional
Registrado: Sexta-Feira, 16 de Abril de 2010 Mensagens: 666
|
Enviada: Sex Mar 25, 2011 10:18 am Assunto: |
|
|
NalDinHuU escreveu: | O Que eu quis dizer foi que, além de poder referenciar as teclas pelas Virtual Keys (VK) você pode referenciar pelo valor Hexadecimal, isso pode resolver seu problema, porque o valor hexadecimal não é imprimível; |
Ja vi aki onde errei ...
Eu tava usando o codigo #77 pra tecla M e devia usar apenas 77 sem o #.
Obrigado mesmo assim
..
Abraco !!! |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|