1。Findwindow或者fandwindowex+getwindowtext
2.getwindiw(hwnd,5)+getwindowtext

解决方案 »

  1.   

    Findwindow或fandwindowex,GetwWindow
    获窗体
    用getwindowtext
    获得标题文字
      

  2.   

    各位大哥,大姐!
      我试了一下,用getwindowtext后,怎么返回值均为0。
      不能获的进程窗口text文本,各位能不能说详细一点!有源代码更好!
      谢谢!!!
      
      

  3.   

    dim str as string
    str=string(80,chr(0))
    getwindowtext hw&,str,80
    str=left$(str,instr(str,chr(0))-1)
      

  4.   

    用getwindowtext时要为字符串分配缓冲区
    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" FindWindowEx VB声明 
    Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long 
    说明 
    在窗口列表中寻找与指定条件相符的第一个子窗口 
    返回值 
    Long,找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hWnd1 Long,在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找) 
    hWnd2 Long,从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索 
    lpsz1 String,欲搜索的类名。零表示忽略 
    lpsz2 String,欲搜索的标题。零表示忽略 GetWindow VB声明 
    Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wCmd As Long) As Long 
    说明 
    获得一个窗口的句柄,该窗口与某源窗口有特定的关系 
    返回值 
    Long,由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hwnd Long,源窗口 
    wCmd Long,指定结果窗口与源窗口的关系,它们建立在下述常数基础上: 
    GW_CHILD 寻找源窗口的第一个子窗口 
    GW_HWNDFIRST 为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口 
    GW_HWNDLAST 为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口 
    GW_HWNDNEXT 为源窗口寻找下一个兄弟窗口 
    GW_HWNDPREV 为源窗口寻找前一个兄弟窗口 
    GW_OWNER 寻找窗口的所有者 
    注解 
    兄弟或同级是指在整个分级结构中位于同一级别的窗口。如某个窗口有五个子窗口,那五个窗口就是兄弟窗口。尽管GetWindow可用于枚举窗口,但倘若要在枚举过程中重新定位、创建和清除窗口,那么EnumWindows和EnumChildWindows更为可靠
     'Hide Start-button
    Const SWP_HIDEWINDOW = &H80
    Const SWP_SHOWWINDOW = &H40
    Const GW_CHILD = 5
    Const GW_HWNDNEXT = 2
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
    Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
    Dim tWnd As Long, bWnd As Long, sSave As String * 250
    Private Sub Form_Load()
        'KPD-Team 1999
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]    'This code will hide the Start-button
        'Find the taskbar's handle
        tWnd = FindWindow("Shell_traywnd", vbNullString)
        'Search for a child window
        bWnd = GetWindow(tWnd, GW_CHILD)
        Do
            'get the child window's classname
            GetClassName bWnd, sSave, 250
            'We have the handle of the Start button If the classname is 'button'
            If LCase(Left$(sSave, 6)) = "button" Then Exit Do
            'Search the next child
            bWnd = GetWindow(bWnd, GW_HWNDNEXT)
        Loop
        'Hide the start button
        SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
        'Show the start button
        SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
    End Sub
      

  5.   

    各位老大老哥老姐!
     刚才我试了一下,还是不行!
     能不能说详细一点!
     楼上几个代码我试了一下,但只能得到本工程内部 text文档内容!
     哎~~~~~~~~~