CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

怎样控制他人程序上的ActiveX控件

楼主karllere(我想换工作,哪有招C++游戏程序员的联系我。)2005-08-02 11:32:29 在 VC/MFC / ATL/ActiveX/COM 提问

我们可以用FindWindow和GetDlgItem的方法控制别人的程序,向正在运行中的别人的程序控件中写入数据,发送信息。那是因为他人的程序用的是Windows标准控件,我们知道那些标准控件可以响应什么事件。而且那些标准控件能响应的事件在Windows.h文件中有定义。  
  可是,当前出现了如下问题:  
  在别人的程序上有一个叫SpreadSheet的ActiveX控件。是一个二维表网格控件。我在程序中可以加入这个ActiveX控件,也就是说我可以看到这个控件的函数和方法。我还用exescope找到了那些函数的地址。但是现在问题来了。我要如何用这些地址来调用对应的函数呢?  
   
  以上是用FindWindow的方法控制他人程序的方法。  
   
  char   buf[50]={0};  
  hWnd=::WindowFromPoint(m_ptWndPos);   //   CPoint(347,241)  
  if(hWnd)   ::SendMessage(hWnd,   WM_GETTEXT,   40,   (LPARAM)buf);  
  TRACE("hWnd   =   %08X   ,   WindowTitle   =   '%s'\n",   hWnd,   buf);  
  if(hWnd   &&   strcmp(buf,   m_strErrWndTitle)!=0)   //   找到'登录'窗口  
  {  
  hWnd2=::GetDlgItem(hWnd,   m_nEditID);   //   0xB4=QQ密码输入框,   0x3EA=EventTest  
  if(hWnd2)  
  {  
  ::SendMessage(hWnd2,   WM_GETTEXT,   40,   (LPARAM)buf);  
  TRACE("hWnd2   =   %08X   ,   WindowTitle   =   '%s'\n",   hWnd2,   buf);  
   
  if((nState   &   1)   ==   0)  
  {  
  for(int   i=0;   i<strPwd.GetLength();   i++)   //   向目标窗口发送密码  
  {  
  ::PostMessage(hWnd2,   WM_CHAR,   strPwd[i],   0);  
  }  
  }  
   
  Sleep(100);  
  //   点击'确认'按钮  
  hWnd2=::GetDlgItem(hWnd,   m_nButtonID);  
  if(hWnd2)  
  {  
  ::PostMessage(hWnd2,   WM_LBUTTONDOWN,   0,   0);  
  ::PostMessage(hWnd2,   WM_LBUTTONUP,   0,   0);  
  nState   |=   1;   //   发送密码完毕  
  }  
  }  
  }  
   
  上面的程序能成功是因为QQ的密码框支持PostMessage函数。  
  假想一下,如果QQ的密码框是一个ActiveX控件,而他支持的事件我们只知道地址。那么要如何调用呢?这种情况很像调用DLL中的函数。  
   
  把我的问题总结成一句话如下:  
  怎么用函数地址调用ActiveX控件的方法函数。  
  问题点数:20、回复次数:0Top

相关问题

  • 关于控制台程序创建ActiveX控件的难题……
  • ActiveX控件对其他程序控制问题?向高手求教!
  • !!!鸡毛信!如何在控制台程序中引用activex 控件?(可加1000
  • 如何在控制台程序中(此时VBVC的向导都用不上),使用ACTIVEX控件??
  • 在程序中注册ActiveX控件(.OCX)
  • 如何控制powerpoint中的ActiveX控件
  • 程序控制picture控件显示图形的问题
  • 请问timer控件如何在程序里控制,谢谢
  • 如何在程序中控制IE浏览器中的控件
  • 控制台程序里怎么使用CMSComm控件?

关键词

  • 控件
  • 函数
  • 控制
  • 程序
  • hwnd
  • buf
  • 方法
  • 标准

得分解答快速导航

  • 帖主:karllere

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo