STDCALL,LRESULT ,EXPERT是什么含义啊??
另:SETWINDOWSHOOKEX的参数IPFN指定的消息函数是否自定义?若是自定义的话
如下例:
KEYBOARDHOOKHANDLER(ICODE:INTEGER;WPARAM:WPARAM;IPARAM:LPARAM):STDCALL;LRESULT;EXPERT
中的参数值由何处得来?ICODE的值的含义是什么?
谢谢
另:SETWINDOWSHOOKEX的参数IPFN指定的消息函数是否自定义?若是自定义的话
如下例:
KEYBOARDHOOKHANDLER(ICODE:INTEGER;WPARAM:WPARAM;IPARAM:LPARAM):STDCALL;LRESULT;EXPERT
中的参数值由何处得来?ICODE的值的含义是什么?
谢谢
SETWINDOWSHOOKEX的参数IPFN指定的消息函数是自定义的,但其接口是固定的,关于API的最好看MSDNDirective Parameter order Clean-up Passes parameters in registers?
register Left-to-right Routine Yes
pascal Left-to-right Routine No
cdecl Right-to-left Caller No
stdcall Right-to-left Routine No
safecall Right-to-left Routine NoThe cdecl convention is useful when you call functions from shared libraries written in C or C++, while stdcall and safecall are recommended, in general, for calls to external code. On Windows, the operating system APIs are stdcall and safecall. Other operating systems generally use cdecl. (Note that stdcall is more efficient than cdecl.)
我还要去找MSDN啊,碟不见了
LRESULT 是32 位整数,相当于INTEGER。
EXPERT?不知道。
如果是EXPORT表示函数是在外部实现的。
KEYBOARDHOOKHANDLER(ICODE:INTEGER;WPARAM:WPARAM;IPARAM:LPARAM):STDCALL;LRESULT;EXPERT
中的参数值是由系统自动设置的。
ICODE的值的小于0表示系统中还有其他程序需要处理这些消息,你必须将它传下去。