CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

findwindow函数问题

楼主sssa2000()2002-02-20 22:42:39 在 Delphi / VCL组件开发及应用 提问

我要在QQ启动时自动加载我编的聊天辅助程序,用findwindow老是不成功,我看不懂  
  api手册里的关于findwindow的话,     大家给我一个例子把.   怎么用findwindow 问题点数:20、回复次数:10Top

1 楼wr960204(武稀松)回复于 2002-02-20 22:46:46 得分 0

findwindow(窗体类,窗体名称)  
  当类名不知道时可为空  
  返回值为窗体的句柄若为零则没有找到  
  findwidnow(nil,'发送消息');Top

2 楼dext(德克斯特)回复于 2002-02-20 22:47:21 得分 0

FindWindow   功能取回对分类名字和窗户名字的最高阶层的窗户柄相配被叙述的线。   这个功能不     搜寻孩子窗户。    
   
  HWND   FindWindow(  
   
          LPCTSTR   lpClassName,//到班级的指针命名  
          LPCTSTR   lpWindowName//对窗户名字的指针  
        );  
     
   
  叁数  
   
  lpClassName  
   
  对零的点-结束叙述班级的线命名或是一粒识别班级-   名字线的原子。   如果这个叁数是一粒原子,它一定是一粒被对   GlobalAddAtom   功能的一个早先的呼叫产生的全球原子。   原子   ,   16   个一点点的价值,一定被放在~之内   lpClassName   的低次序字;高次序字一定是零的。    
   
  lpWindowName  
   
  点到一无效力的-   结束了叙述窗户名字的线.(窗户的名称)   如果这个叁数是无效力的,   所有的窗户名字相配。    
   
     
   
  返回值  
   
  如果功能成功,回行的价值是对有被叙述的班级命名的窗户和窗户名字的柄。  
  如果功能不及格,回行的价值是无效力的。   得到广大的错误数据,呼叫   GetLastError   。    
  Top

3 楼torble(阿裕)回复于 2002-02-20 22:48:10 得分 0

函数   FindWindow(ClassName,   WindowName);  
   
  就拿记事本程序来说吧  
  记事本的ClassName   是"Notepad"  
                WindowName就是记事本窗口标题,如:"无标题   -   记事本"  
  例:h:=FindWindow("Notepad","无标题   -   记事本")Top

4 楼stiwin((忙碌))回复于 2002-02-20 23:35:07 得分 0

var  
  i:handle;  
  begin  
  i:=FindWindow('notepad',nil);  
  end;  
  就可以得到记事本的句柄Top

5 楼sssa2000()回复于 2002-02-21 00:11:04 得分 0

我的程序没反映  
   
  procedure   TForm1.Timer1Timer(Sender:   TObject);  
  var   hform:   hwnd;  
  begin  
          hform:=findwindow(nil,'发送消息');  
          if   hform<>0   then  
          begin  
          showmessage('asf');  
           
          end;  
  end;Top

6 楼sssa2000()回复于 2002-02-21 00:42:08 得分 0

??????Top

7 楼facat(大花喵)回复于 2002-02-21 02:18:06 得分 0

我也用这种方法试过,也不行。好像这种方法对QQ没用。  
  Top

8 楼netfairy(泡泡猪)回复于 2002-02-21 08:11:54 得分 0

procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      h,hSend:HWND;  
      Caption:PChar;  
  begin  
      Caption:=AllocMem(255);  
      h:=GetDesktopWindow();  
      h:=GetTopWindow(h);  
      repeat  
          GetWindowText(h,Caption,255);  
          if   Caption='·&cent;&Euml;&Iacute;&Iuml;&ucirc;&Iuml;&cent;'   then  
              hSend:=h;  
          h:=GetNextWindow(h,GW_HWNDNEXT);  
      until   h=0;  
      ShowMessage(IntToStr(hSend));  
      FreeMem(Caption);  
   
  end;  
  以上程序D5,Win2000eng中编译通过。  
  Top

9 楼redlegend_126_com(redlegend)回复于 2002-02-21 08:12:51 得分 20

其实qq的用户登陆,等很多的   窗口的标题是画上去了,它的真正的标题是   xxxxxx,用findwindow函数查找就可以了。例:findwindow(nil,'xxxxxx');  
  这样就可以找到qq的登陆窗口了!  
  给分吧!Top

10 楼netfairy(泡泡猪)回复于 2002-02-21 08:14:45 得分 0

纠错:if   Caption='发送消息'   then    
  有谁知道我C&P后中文为什么会变成乱码?Top

相关问题

  • findwindow 函数
  • findwindow()以外的函数
  • 有关FindWindow是函数
  • MDI程序下的FindWindow函数使用!
  • 有关函数findwindow的一个问题
  • FindWindow这个函数怎么调用。
  • 求教hook高手们 FindWindow GetWindowThreadProcessId 函数
  • 关于使用findwindow函数的 疑惑
  • 提问:请教怎样在Cwatch_TVDlg::OnTimer(UINT nIDEvent)函数里用HWND FindWindow()函数而不是用static CWnd* PASCAL FindWindow()?
  • FindWindow函数的问题,这个问题你遇到过没有?

关键词

  • 函数
  • 记事本
  • 命名
  • 价值
  • 消息
  • findwindow
  • 窗户
  • hform
  • 无效力
  • 原子

得分解答快速导航

  • 帖主:sssa2000
  • redlegend_126_com

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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