HWND hWndParentDlg,hwndChildCtrl;hWndParentDlg = ::FindWindow(_T("类名"), _T("窗口名"));//得到目标窗口句柄if ( hWndParentDlg == NULL ) 
{
AfxMessageBox(_T("没有找到目标程序"));
}
else
{
hwndChildCtrl = ::FindWindowEx(hWndParentDlg, NULL,_T("控件类名"), _T("控件名"));
if (hwndChildCtrl == NULL)
{
AfxMessageBox(_T("没有找到控件"));
}
else
{
DWORD ID = ::GetDlgCtrlID(hwndChildCtrl);
::SendMessage(hWndParentDlg, WM_COMMAND, MAKEWPARAM(ID, BN_CLICKED), (LPARAM)hwndChildCtrl);
}
}

解决方案 »

  1.   

    请问如何知道控件的名字或者类名呢?
    vs安装完之后 有个小工具 叫spy++ 开始菜单-程序-vs下就有 打开就可以侦测到窗口的类名了 
      

  2.   

    请问如何知道控件的名字或者类名呢?
    vs安装完之后 有个小工具 叫spy++ 开始菜单-程序-vs下就有 打开就可以侦测到窗口的类名了 
    谢谢你的回答!再请教个问题,如果想做一个类似于spy+的功能,该如何做呢
      

  3.   

    便利窗口控件句柄
    http://blog.csdn.net/bojie5744/article/details/37918221
      

  4.   

    请问如何知道控件的名字或者类名呢?
    vs安装完之后 有个小工具 叫spy++ 开始菜单-程序-vs下就有 打开就可以侦测到窗口的类名了 
    谢谢你的回答!再请教个问题,如果想做一个类似于spy+的功能,该如何做呢
    那就是HOOK技术了  我小菜  不懂  自己度娘吧
      

  5.   

    请问如何知道控件的名字或者类名呢?
    vs安装完之后 有个小工具 叫spy++ 开始菜单-程序-vs下就有 打开就可以侦测到窗口的类名了 
    谢谢你的回答!再请教个问题,如果想做一个类似于spy+的功能,该如何做呢
    那就是HOOK技术了  我小菜  不懂  自己度娘吧
    用SPY++看的话看不到控件的名字吗?
      

  6.   

    还有就是MAKEWPARAM这个为什么识别不了呢?
      

  7.   

    请问如何知道控件的名字或者类名呢?
    vs安装完之后 有个小工具 叫spy++ 开始菜单-程序-vs下就有 打开就可以侦测到窗口的类名了 
    谢谢你的回答!再请教个问题,如果想做一个类似于spy+的功能,该如何做呢
    那就是HOOK技术了  我小菜  不懂  自己度娘吧
    用SPY++看的话看不到控件的名字吗?
    控件的名字?是caption吗?都可以看到的。比如下面的 spy++查找到的caption和class都有  不过要注意某些程序是windowless设计的  比如qq  用spy++就找不到控件 它全是自绘的
      

  8.   

    MAKEWPARAM就是一个宏 凑起2个word #define MAKEWPARAM(l, h)      ((WPARAM)(DWORD)MAKELONG(l, h))具体在winuser.h里  vs建的工程不可能没包含这个头文件吧