首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

看看小弟我的代码那错了

2012-02-05 
看看我的代码那错了?m_message_tag packed recordAsciiCode: DWORDscanCode: DWORDflags: DWORDtime:

看看我的代码那错了?
m_message_tag = packed record
  AsciiCode: DWORD;
  scanCode: DWORD;
  flags: DWORD;
  time: DWORD;
  dwExtraInfo:DWORD;
end;
m_message = ^m_message_tag;

function m_hookproc (nCode: Integer;WParam: WPARAM;LParam: LPARAM):LRESULT; stdcall;
var
 p:m_message;
 s:string;
begin
  p:=m_message(LParam);
  if p.AsciiCode=65 then p.AsciiCode=66; //(1)如果按下的“a”则该成“b”,这里为什么不对呀。
Result:=CallNextHookEx(m_hook,ncode,Wparam,lParam);  
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  m_hook := SetWindowsHookExW(WH_KEYBOARD_LL,m_hookproc, Hinstance, 0);
end; 



我该怎么做才能使按下a的时候转换成b?  


[解决办法]
你要控制哪个控件的按键,然后

就用你的WINPROC替代原控件的WINPROC,因为每一个控件都有自己的消自己循环的哦!


如 EDIT,FORM......

热点排行