delph 有没有一个函数来控制键盘(50分)

G

gzcom

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有一个函数,执行后等于按下了键盘
 
R

RedBeret

Unregistered / Unconfirmed
GUEST, unregistred user!
自己写一个函数发送键盘消息。
 
G

gzcom

Unregistered / Unconfirmed
GUEST, unregistred user!
请进一步指教
 
G

gzcom

Unregistered / Unconfirmed
GUEST, unregistred user!
问题提前
 
C

creation-zy

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi的安装盘中有一个sndkey32.pas文件,专门发送键盘事件。
所在路径:Info/Extras/SendKeys

例子:SendKeys('123 A a !?',false);

仔细看一看它的源码吧,功能实在是太强大了。
 
F

fengwxp

Unregistered / Unconfirmed
GUEST, unregistred user!
你可以試試一個API函數PostMessage
例如:
...
PostMessage(Edit1.Handle,WM_KEYDOWN,65,0);//模擬在edit1中按下了字母a鍵
...
 
Z

ZhuHongQing

Unregistered / Unconfirmed
GUEST, unregistred user!
用 wm_sethotkey
h1:=handle;
sendmessage(h1,WM_SETHOTKEY,VK_F4,0);
//发送F4键值给一个指定的窗口
 
Z

zhang w.

Unregistered / Unconfirmed
GUEST, unregistred user!
>>一个函数来控制键盘?
什么叫控制键盘?
监控、模拟键盘in Window可用HOOK(钩子)实现。
 
L

LSS

Unregistered / Unconfirmed
GUEST, unregistred user!
Perform(CM_DIALOGKEY,VK_TAB,0);
相当于按下TAB键
 
C

coolbee

Unregistered / Unconfirmed
GUEST, unregistred user!
那怎么控制键盘上的num_lock灯呢?
 
I

iie

Unregistered / Unconfirmed
GUEST, unregistred user!
keyborad_event
 

江维

Unregistered / Unconfirmed
GUEST, unregistred user!
用keyborad_event 虚拟键盘按键!
 

Unregistered / Unconfirmed
GUEST, unregistred user!
在keypress事件中用edit1.text:=inttostr(key)
 

晶晶

Unregistered / Unconfirmed
GUEST, unregistred user!
可以自己用form1的onkeypress事件中写入代码,如:
if key=#13 then
begin
//自己的代码
end;
将key的值传入你所需的值就可以完成你代码的事件,和捕捉键盘消息一样的效果
 
S

sunjade

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样的函数吗?
 
S

SuperYoyoNC

Unregistered / Unconfirmed
GUEST, unregistred user!
//[:D][:D][:D][:D][:D]by SuperYoyoNC[:D][:D][:D][:D][:D][:D]
procedure TfrmMain.tmrShowTimeTimer(Sender: TObject);
var ks:tkeyboardstate;
begin
//检测键盘函数
GetKeyboardState(ks);
if Odd(ks[VK_NUMLOCK]) then
satStatus.Panels.items[1].Bevel:=pbLowered
else
satStatus.panels.items[1].Bevel:=pbRaised;
if Odd(ks[VK_CAPITAL]) then
satStatus.panels.items[2].Bevel:=pbLowered
else
satStatus.panels.items[2].Bevel:=pbRaised;
if Odd(ks[VK_SCROLL]) then
satStatus.panels.items[3].Bevel:=pbLowered
else
satStatus.panels.items[3].Bevel:=pbRaised;
if Odd(ks[VK_INSERT]) then
satStatus.panels.items[4].Bevel:=pbLowered
else
satStatus.panels.items[4].Bevel:=pbRaised;
end;
 
顶部