用Spy++去查窗口(控件是一种子窗口)的类名、标题
开始\程序\Microsoft Visual Studio 6.0\Microsoft Visual Studio 6.0 Tools\Spy++

解决方案 »

  1.   

    FindWindow VB声明 
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
    说明 
    寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 
    返回值 
    Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 
    参数表 
    参数 类型及说明 
    lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类 
    lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 
    注解 
    很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数
     
    示例 
    Dim hw&, cnt&
    Dim rttitle As String * 256
    hw& = FindWindow("ThunderRT5Main", vbNullString) ' ThunderRTMain under VB4
    cnt = GetWindowText(hw&, rttitle, 255)
    MsgBox Left$(rttitle, cnt), 0, "RTMain title" 
      

  2.   

    窗口名是指什么?我要用pagemaker 6.5
    但hwnd_Pagemaker = FindWindow(vbNullString, "Adobe Pagemaker6.5")
    返回0,
    我郁闷一天
      

  3.   

    装VC++6
    Spy++是它自带的工具
      

  4.   

    保证空格什么的没少。最好使用SPY++看一下。万一Pagemaker的窗口藏在二级窗口中,Findwindow就找不到了。
      

  5.   

    类名是窗口的类型名比如系统的文本框是的类名是“Edit”标题完全匹配时才能找到