快来抢分!!(50分)

  • 主题发起人 主题发起人 pursuer
  • 开始时间 开始时间
P

pursuer

Unregistered / Unconfirmed
GUEST, unregistred user!
急需一JPEG图象压缩/解压的C或C++源程序。
要编译通过的独立文件。
 
我的邮箱:pursuer_zhao@263.net
 
门前冷落。。。。
 
我弄到了一些东西,请查收。
 
to :creation-zy
你发的东西我也有,不过现在急用
我不想在看那一堆文件
有没有独立的源程序?
But,thank you anyway!
 
写进资源文件
 
to :devuser
你好!
我是VC初学者,拜托你说详细一点好吗?
谢谢!
 
又一个问题:
我要给某程序发键盘消息
如“回车”、“空格”、“ALT”、字母等
怎样使用sendmessage API函数来发送?
后两个参数怎么设置?
 
键盘模拟
一般虚拟键值(VK_)由KeyDown或keyup事件得到
特殊键值
Tab--9
Shift--16
Ctrl--17
Alt--18
CapsLock--20
Esc--27
Win--91,92
NumLock--144
ScrollLock--145
按下键
keybd_event(key,MapVirtualKey(key,0),KEYEVENTF_KEYUP,0);
释放键
keybd_event(key,MapVirtualKey(key,0),0,0);
 
to:creation-zy
你好!谢谢你了!
我一定还会在其他地方给你送分的
不过我要的是用
sendmessage(程序句柄,WM_KEYDOWN,wparam,lparam)
这个函数的用法。
wparam,lparam怎么用?
 
From Kingron's database:
procedure SendShift(H: HWnd;
Down: Boolean);
var vKey, ScanCode, wParam: Word;
lParam: longint;
begin
vKey:= $10;
ScanCode:= MapVirtualKey(vKey, 0);
wParam:= vKey or ScanCode shl 8;
lParam:= longint(ScanCode) shl 16 or 1;
if not(Down) then
lParam:= lParam or $C0000000;
SendMessage(H, WM_KEYDOWN, vKey, lParam);
end;
procedure SendCtrl(H: HWnd;
Down: Boolean);
var vKey, ScanCode, wParam: Word;
lParam: longint;
begin
vKey:= $11;
ScanCode:= MapVirtualKey(vKey, 0);
wParam:= vKey or ScanCode shl 8;
lParam:= longint(ScanCode) shl 16 or 1;
if not(Down) then
lParam:= lParam or $C0000000;
SendMessage(H, WM_KEYDOWN, vKey, lParam);
end;
procedure SendKey(H: Hwnd;
Key: char);
var vKey, ScanCode, wParam: Word;
lParam, ConvKey: longint;
Shift, Ctrl: boolean;
begin
ConvKey:= OemKeyScan(ord(Key));
Shift:= (ConvKey and $00020000) <> 0;
Ctrl:= (ConvKey and $00040000) <> 0;
ScanCode:= ConvKey and $000000FF or $FF00;
vKey:= ord(Key);
wParam:= vKey;
lParam:= longint(ScanCode) shl 16 or 1;
if Shift then
SendShift(H, true);
if Ctrl then
SendCtrl(H, true);
SendMessage(H, WM_KEYDOWN, vKey, lParam);
SendMessage(H, WM_CHAR, vKey, lParam);
lParam:= lParam or $C0000000;
SendMessage(H, WM_KEYUP, vKey, lParam);
if Shift then
SendShift(H, false);
if Ctrl then
SendCtrl(H, false);
end;
 
请结束,贴子日期到了。
 
多人接受答案了。
 
后退
顶部