标题:EnumWindows 函数怎么让用户自定义参数呢
取消只看楼主
a278401627
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-9-5
结帖率:55.56%
已结贴  问题点数:5 回复次数:1 
EnumWindows 函数怎么让用户自定义参数呢
BOOL CALLBACK EnumWindowsProc (HWND hwnd, LPARAM lParam);


BOOL CALLBACK EnumWindowsProc (HWND hwnd, LPARAM lParam)
{

    int nLen = ::GetWindowTextLength(hwnd) + 1;

   LPTSTR Caption = new TCHAR[nLen];
    ::GetWindowText(hwnd, Caption, nLen);


TCHAR szBuf[256]={0};
   if (!::lstrcmp(Caption,"无标题 - 记事本"))
    {
       // cout << (long)hwnd << endl;
char szTmp[20];
    wsprintf(szTmp,_T("%d|"),(HWND)hwnd);
wsprintf(szTmp,_T("%c|"),Caption);
    strcat(szBuf,szTmp);


}
szBuf[strlen(szBuf)]='\0';


 delete[] Caption;
    return TRUE;
}


int main ()

{

::EnumWindows(EnumWindowsProc,NULL);


return 0;
}



以上是我的代码   我通过EnumWindows 来得到 ,标题是 ,"无标题 - 记事本" 的所有的窗口句柄

现在的问题是 怎么让用户自己来定义窗口标题   也就是说要让 ,"无标题 - 记事本" 变成一个参数。


搜索更多相关主题的帖子: 记事本 long 用户 
2012-12-23 12:27
a278401627
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-9-5
得分:0 
谢谢版主,我解决这个问题了

现在出现另一个问题是 EnumWindowsProc 执行完后,得到了我需要的句柄

那要怎么才能在int main () 中把句柄接收回来呢

2012-12-23 22:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-393050-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019144 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved