STDCALL,LRESULT ,EXPERT是什么含义啊??
另:SETWINDOWSHOOKEX的参数IPFN指定的消息函数是否自定义?若是自定义的话
如下例:
KEYBOARDHOOKHANDLER(ICODE:INTEGER;WPARAM:WPARAM;IPARAM:LPARAM):STDCALL;LRESULT;EXPERT
中的参数值由何处得来?ICODE的值的含义是什么?
谢谢

解决方案 »

  1.   

    STDCALL,LRESULT ,EXPERT是API定义的方法和类型,看MSDM可以获得详细的内容,
    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.)
      

  2.   

    我倒。。麻烦你复制一下谢拉~~~~~
    我还要去找MSDN啊,碟不见了
      

  3.   

    STDCALL是标准调用(不同调用的参数传递次序不同)
    LRESULT 是32 位整数,相当于INTEGER。
    EXPERT?不知道。
    如果是EXPORT表示函数是在外部实现的。
    KEYBOARDHOOKHANDLER(ICODE:INTEGER;WPARAM:WPARAM;IPARAM:LPARAM):STDCALL;LRESULT;EXPERT
    中的参数值是由系统自动设置的。
    ICODE的值的小于0表示系统中还有其他程序需要处理这些消息,你必须将它传下去。