TLa*_*ama 16
我会试试这个:
procedure TForm1.FormShow(Sender: TObject);
begin
if GetKeyState(VK_LBUTTON) and $8000 <> 0 then
ShowMessage('Left mouse button is pressed...')
else
ShowMessage('Left mouse button is not pressed...')
end;
Run Code Online (Sandbox Code Playgroud)
要直接回答您的问题,您可以使用GetKeyState
或测试鼠标按钮状态GetAsyncKeyState
.您需要的虚拟密钥代码是VK_LBUTTON
.
它们之间的区别在于GetKeyState
报告当前活动排队消息发布到队列时的状态.另一方面,GetAsynchKeyState
在你打电话的那一刻给你一个状态GetAsynchKeyState
.
来自以下文件GetKeyState
:
当该线程从其消息队列中读取关键消息时,从该函数返回的密钥状态会发生变化.状态不反映与硬件相关的中断级状态.使用GetAsyncKeyState函数检索该信息.应用程序调用GetKeyState以响应键盘输入消息.此函数在生成输入消息时检索键的状态.
我怀疑你应该使用GetKeyState
但我无法100%确定,因为我实际上并不知道你想用这些信息实现什么.
归档时间: |
|
查看次数: |
4770 次 |
最近记录: |