1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:

Nur für 32Bit Office Versionen

Manchmal möchte man ein anderes Programm im Windows in den Vordergrund holen bzw. Beenden.
Geht das in MS-Access? Ja.

Voraussetzungen:
Das Bsp ist ab A02 lauffähig

Funktionsweise:
Es sind eine Reihe von API-Funktionen erforderlich.
Diese befinden sich alle im Modul "mod_Handle" der Bsp-DB.
Mit dem Button "Tasks einlesen" wird die Function "GetWindowList" aufgerufen
Private Function GetWindowList(Optional bVisible As Boolean = True)
  
  ' oLSV     - Ein beliebiges ListView, das die
  '            Informationen aufnehmen soll
  ' bVisible - Wenn True werden nur sichtbare Windows
  '             angezeigt, ansonsten alles
  
  Dim hwnd      As Long
  Dim sTitle    As String
  Dim lTaskID   As Long
  Dim lStyle    As Long
  
  Me.lst_Handle.RowSource = ""
  Me.lst_Handle.Requery
  ' Erstes WindowHandle holen
  hwnd = GetWindow(Application.hWndAccessApp, GW_HWNDFIRST)
  Do
    ' Handle auswerten und im ListView eintragen
    lStyle = GetWindowLong(hwnd, GWL_STYLE)
    lStyle = lStyle And (WS_VISIBLE Or WS_BORDER)
    sTitle = GetWindowTitle(hwnd)
    lTaskID = GetWindowTaskID(hwnd)
    
    If (lStyle = (WS_VISIBLE Or WS_BORDER)) = bVisible Then
        Me.lst_Handle.AddItem hwnd & ";" & lTaskID & ";" & lStyle & ";" & sTitle
    End If
    
    ' Nächses Handle
    hwnd = GetWindow(hwnd, GW_HWNDNEXT)
  Loop Until hwnd = 0
End Function

Diese Function liest alle Tasks in das Listenfeld ein.
 

Klickt man nun auf einen Eintrag in dem Listenfeld werden dien Buttons unten
aktiviert. Mit diesen ist es nun möglich den gewählten Task in den Vordergrund
zu holen bzw. zu beenden.

 Das Beenden von Explorer- und IE-Fenster geht nicht. 



 
Dateien:

Nur für 32Bit Office Versionen

Bsp-DB zum Ermitteln und Beenden von externen Programmen

ab A02


Die Zip-Datei enthält ein Version ab A02
Datum 05.02.2018
Dateigröße 23.93 KB
Download 1.267
 
 

Ähnliche Artikel