使用enumwindows时如何传递参数。

ydx 2002-12-25 07:57:12
我在使用EnumWindows((WNDENUMPROC)EnumProc,0);时想向EnumProc中传递参数,如一个String的变量,该如何实现,请大家帮忙。
...全文
191 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydx 2002-12-26
  • 打赏
  • 举报
回复
好,多谢,接分。
jishiping 2002-12-26
  • 打赏
  • 举报
回复
如果想要传多个参数,使用结构:
struct Param
{
String str1;
String str2;
String str3;
};

BOOL CALLBACK EnumProc(HWND hwnd, LPARAM lParam)
{
Param* pp = (Param*)lParam;
//现在就可以使用pp访问其中的String了
}

//调用时
struct Param param;
EnumWindows((WNDENUMPROC)EnumProc, (long)¶m);
ydx 2002-12-26
  • 打赏
  • 举报
回复
多谢回复,不过可以传两个参数吗?
jishiping 2002-12-26
  • 打赏
  • 举报
回复
传递指针:
BOOL CALLBACK EnumProc(HWND hwnd, LPARAM lParam)
{
String* ps = (String*)lParam;
//现在就可以使用ps了
}

//调用时
String str;
EnumWindows((WNDENUMPROC)EnumProc, (long)&str);

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧