Visual Basic, .NET, ASP, VBA, VBScript
 
  Библиотека кодов  
  Окна и операции с ними  
     
  Получить полное название окна, зная кусок  
  Option Explicit
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function GetNextWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag As Long) As Long

Public Function GetCaption(lhWnd As Long) As String
Dim sA As String, lLen As Long
lLen& = GetWindowTextLength(lhWnd&)
sA$ = String(lLen&, 0&)
Call GetWindowText(lhWnd&, sA$, lLen& + 1)
GetCaption$ = sA$
End Function

Public Function DLHFindWin(frm As Form, WinTitle As String, CaseSensitive As Boolean) As Long
Dim lhWnd As Long, sA As String
lhWnd& = frm.hwnd
Do
DoEvents
If lhWnd& = 0 Then Exit Do
If CaseSensitive = False Then
sA$ = LCase$(GetCaption(lhWnd&))
WinTitle$ = LCase$(WinTitle$)
Else
sA$ = GetCaption(lhWnd&)
End If
If InStr(sA$, WinTitle$) Then
DLHFindWin& = lhWnd&
Exit Do
Else
DLHFindWin& = 0
End If
lhWnd& = GetNextWindow(lhWnd&, 2)
Loop
End Function

Private Sub Command1_Click()
'использование функции
Call MsgBox(DLHFindWin&(Me, "доку", False))
'или
Call MsgBox(GetCaption$(DLHFindWin&(Me, "доку", False)))
End Sub
 
     
  VBNet online (всего: 51566)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам