vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: word beenden 
Autor: Frank
Datum: 06.02.03 07:52

'Hallo...
'dieses Beispiel ermöglicht es den Acrobat Reader trotz wechselnder Klassennamen
'über einen Teil der Titelzeilenbeschriftung, die beim Acrobat Reader immer mit
'"Acrobat Reader" anfängt, auch wenn ein Dokument im Acrobat Reader geöffnet 
' ist,
'zu schließen.
'Ist der Acrobat Reader nicht aktiv passiert in diesem Beispiel nichts, sonst 
' wird
'der Acrobat Reader geschlossen.
'NG.: 06.02.03
'IN eine Form
Private Sub Command1_Click(Index As Integer)
    Select Case Index
        Case Is = 0:
                     Dim lRet        As Long
                     Call GetAcrobatReaderClassname(0, "*Acrobat*", "*")
        Case Is = 1: Unload Me
    End Select
End Sub
 
'IN ein Modul
Private Declare Function GetDesktopWindow Lib "user32" () _
                                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
 
Private Declare Function GetWindowText Lib "user32" _
                                Alias "GetWindowTextA" _
                                (ByVal hwnd As Long, _
                                ByVal lpString As String, _
                                ByVal cch As Long) _
                                As Long
 
Private Enum FindWnd
    GW_HWNDNEXT = 2
    GW_CHILD = 5
End Enum
 
Private Type ClassValue
    sGetClass       As String
    sGetCaption     As String
End Type
 
Private Const mBuffer = 255&
 
Private Declare Function FindWindow Lib "user32" _
                                Alias "FindWindowA" _
                                (ByVal sClassName As String, _
                                ByVal lpWindowName As String) _
                                As Long
 
Private Declare Function SendMessage Lib "user32" _
                                Alias "SendMessageA" _
                                (ByVal hwnd As Long, _
                                ByVal wMsg As Long, _
                                ByVal wParam As Long, _
                                lParam As Any) _
                                As Long
 
Private Const WM_SYSCOMMAND = &H112
Private Const SC_CLOSE = &HF060
 
Public Sub GetAcrobatReaderClassname(ByVal lFirstHwnd As Long, _
                                     sTitleName As String, _
                                     sClass As String)
 
    Static n            As Long
    Dim lHwnd           As Long
    Dim lRet            As Long
    Dim cv              As ClassValue
 
    If n = 0 Then '''
        If lFirstHwnd = 0 Then lFirstHwnd = GetDesktopWindow()
    End If
    n = n + 1
 
    lHwnd = GetWindow(lFirstHwnd, GW_CHILD)
    Do Until lHwnd = 0
        With cv
            .sGetCaption = Space$(mBuffer)
            lRet = GetWindowText(lHwnd, .sGetCaption, mBuffer)
            .sGetCaption = Left(.sGetCaption, lRet)
            .sGetClass = Space$(mBuffer)
            lRet = GetClassName(lHwnd, .sGetClass, mBuffer)
            .sGetClass = Left(.sGetClass, lRet)
            If (.sGetCaption Like sTitleName) And (.sGetClass Like sClass) Then
                Debug.Print lHwnd; cv.sGetClass
 
                Dim hHandle     As Long
                hHandle = FindWindow(.sGetClass, vbNullString)
                Debug.Print hHandle; " hHandle"
                Call SendMessage(hHandle, WM_SYSCOMMAND, SC_CLOSE, 0&)
 
            End If
        End With
        lHwnd = GetWindow(lHwnd, GW_HWNDNEXT)
    Loop
    n = n - 1
End Sub
'MfG
'Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
word beenden510gizmo02.02.03 18:59
Re: word beenden65Frank02.02.03 20:23
Re: word beenden349gizmo02.02.03 22:04
Re: word beenden69Frank03.02.03 05:28
Re: word beenden310gizmo05.02.03 21:53
Re: word beenden60Frank06.02.03 07:52
Re: word beenden312gizmo08.02.03 01:27
Re: word beenden52Frank08.02.03 07:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel