捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
29 2017.06

CallWindowProc

点击次数:1340 更新时间:2017-6-29 20:40:53  【打印此页

原文链接 -> 传送门

函数功能:

CallWindowProc 函数用于给指定的窗口过程传送消息信息。


API 函数原型:

注释:_In_ 说明该参数是输入的。

LRESULT WINAPI CallWindowProc(
  _In_ WNDPROC lpPrevWndFunc,
  _In_ HWND    hWnd,
  _In_ UINT    Msg,
  _In_ WPARAM  wParam,
  _In_ LPARAM  lParam
);



参数解析:
 

参数

含义

lpPrevWndFunc

1. 指向前一个窗口过程的指针
2. 如果该值是通过调用 GetWindowLong 函数,并将该函数中的 nlndex 参数设为 GWL_WNDPROC 或 DWL_DLGPROC 而得到的,那么它实际上要么是窗口或者对话框的地址,要么是一个仅对 CallWindowProc 有内在意义的值

hWnd

指向将接收消息的窗口过程的句柄

Msg

将发送的消息

wParam

消息附加信息。该参数的内容取决于 Msg 参数的值

lParam

消息附加信息。该参数的内容取决于 Msg 参数的值



返回值:

返回值指定了消息处理的结果,并且取决于发送的消息。


备注:

1. 使用 CallWindowProc 函数可进行窗口子类化。通常,同一类的所有窗口共享一个窗口过程。子类化是同一类的一个窗口或者一组窗口,在其消息被传送到该类的窗口过程之前,这些消息被另一个窗口过程(或一些窗口过程)解释并处理。

2. SetWindowLong 函数通过改变与特定窗口相关联的窗口过程,使系统调用新的窗口过程而不是之前的窗口过程来创建子类。应用程序必须通过调用 CallWindowProc 函数来将新窗口过程中任何没有处理的消息传送到之前的窗口过程中。这样就允许应用程序创建一个窗口过程链。

3. 如果定义了 STRICT,那么 lpPrevWndFunc 参数具有 WNDPROC 数据类型。WNDPROC 类型定义如下:

LRESULT (CALLBACK* WNDPROC) (HWND, UINT, WPARAM, LPARAM);


4. 如果没有定义 STRICT,那么 lpPrevWndFunc 参数具有 FARPROC 数据类型。FARPROC 类型定义如下:

 int (FAR WINAPI * FARPROC) ()


5. 在 C 语言中,FARPROC 申明为一个没有指定参数列表的回调函数。然而在 C++ 中,申明中的空参数表示该函数没有参数。这种微妙的区别可能会使粗心的代码出错。下面是一种解决这种情况的办法:

#ifdef STRICT 
  WNDPROC MyWindowProcedure 
#else 
  FARPROC MyWindowProcedure 
#endif 
... 
  lResult = CallWindowProc(MyWindowProcedure, ...) ;


6. 有关该函数的空参数列表方面的进一步的信息,请参考 Bjarne Stroustrup 编写的《The C++ Programming Language》第2版。

7. CallWindowProc 函数处理了 Unicode 到 ANSI 的转换。如果你直接调用该窗口过程,你将不能利用该转换。


需求:
 

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Winuser.h (包含于 Windows.h)

Library

User32.lib

DLL

User32.dll

Unicode and ANSI names

CallWindowProcW (Unicode) 和 CallWindowProcA (ANSI)

 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1340 更新时间:2017-6-29 20:40:53  【打印此页

上一条:GetWindowLongPtr

下一条:SetWindowLongPtr

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修