sendmessage能够模拟出按shift点击某控件(如TButton)吗? 需要通过sendmessage来模拟点另一窗体(另一进程)需要鼠标键盘同时操作,例如按shift多选,已取得操作控件的hwnd 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //参考如下代码procedure TForm1.Button1Click(Sender: TObject);var vKeyState: TKeyboardState; vShiftState: Byte;begin SendMessage(ListBox1.Handle, WM_LBUTTONDOWN, 0, MakeLong(0, 2)); SendMessage(ListBox1.Handle, WM_LBUTTONUP, 0, MakeLong(0, 2)); GetKeyboardState(vKeyState); vShiftState := vKeyState[VK_SHIFT]; // 记忆 vKeyState[VK_SHIFT] := $80; SetKeyboardState(vKeyState); SendMessage(ListBox1.Handle, WM_LBUTTONDOWN, 0, MakeLong(0, 32)); SendMessage(ListBox1.Handle, WM_LBUTTONUP, 0, MakeLong(0, 32)); vKeyState[VK_SHIFT] := vShiftState; // 恢复 SetKeyboardState(vKeyState);end; //再参考如下代码procedure TForm1.Button1Click(Sender: TObject);begin SendMessage(Handle, WM_LBUTTONDOWN, MK_SHIFT, MakeLong(0, 2)); SendMessage(Handle, WM_LBUTTONUP, MK_SHIFT, MakeLong(0, 2));end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin if ssShift in Shift then ShowMessage('shift');end; 如何记录某个字段修改字数 急!!怎么样将bmp格式图片转换成TStringStream? 高手,请进 textbox控件如何使其字符右对齐呢? 小问题,搞定就结帐 数据库怎样初始化? 请问哪里可以免费下载Delphi软件?谢谢!! 报表print 请教一下条形码扫描器的编程问题 在开发多层分布式系统过程中,我发现Delphi5.02有一个Bug treeview調用問題? 有一个问题,百思不得其解
procedure TForm1.Button1Click(Sender: TObject);
var
vKeyState: TKeyboardState;
vShiftState: Byte;
begin
SendMessage(ListBox1.Handle, WM_LBUTTONDOWN, 0, MakeLong(0, 2));
SendMessage(ListBox1.Handle, WM_LBUTTONUP, 0, MakeLong(0, 2));
GetKeyboardState(vKeyState);
vShiftState := vKeyState[VK_SHIFT]; // 记忆
vKeyState[VK_SHIFT] := $80;
SetKeyboardState(vKeyState);
SendMessage(ListBox1.Handle, WM_LBUTTONDOWN, 0, MakeLong(0, 32));
SendMessage(ListBox1.Handle, WM_LBUTTONUP, 0, MakeLong(0, 32));
vKeyState[VK_SHIFT] := vShiftState; // 恢复
SetKeyboardState(vKeyState);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_LBUTTONDOWN, MK_SHIFT, MakeLong(0, 2));
SendMessage(Handle, WM_LBUTTONUP, MK_SHIFT, MakeLong(0, 2));
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssShift in Shift then ShowMessage('shift');
end;