vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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: Nochmal 
Autor: RalfH
Datum: 29.09.03 08:29

ein kleiner Fehler hat sich da eingeschlichen.

Die dicke blaue Zeile darf nicht, wie in der ersten Antwort, auskommentiert sein.
Sollte das Programm nämlich zwischenzeitlich beenden worden sein, gibt's ein Laufzeitfehler.

' Aktiviert ein Fenster mit Hilfe der Prozess-ID
Public Function WindowActivate(ByVal AppID As Long, _
  Optional ByVal AppState As vbWindowState = ShowNormal) As Boolean
 
  On Error Resume [Color=blue]Next[/color]
 
  Dim Handle As Long, lTaskID As Long
 
  ' erstes Fenster ermitteln
  Handle = FindWindow(vbNullString, vbNullString)
 
  ' alle Fenster durchlaufen
  Do Until Handle = 0
 
    ' Prozess-ID des gefundenen Fensters ermitteln
    lTaskID = GetWindowTaskID(Handle)
 
    ' Prozess-ID des gefundenen Fensters mit der übergebenenen
    ' Prozess-ID (AppID) vergleichen, wenn beide gleich sind,
    ' dann ist das gefundene Fenster das gesuchte Fenster
    If lTaskID = AppID Then
 
      ' Fensterstatus prüfen und ggf. ändern
      Select Case AppState
 
        ' normale Größe
        Case ShowNormal
          ' Fenstergröße nur ändern, wenn Fenster minimiert
          ' oder maximiert ist
          If IsIconic(Handle) Or IsZoomed( _
            Handle) Then ShowWindow Handle, AppState
 
        ' Maximiert
        Case ShowMaximized
          ' Fenstergröße nur ändern, wenn Fenster nicht maximiert ist
          If IsZoomed(Handle) = False Then ShowWindow Handle, AppState
 
        ' Minimiert
        Case ShowMinimized
          ' Fenstergröße nur ändern, wenn Fenster nicht minimiert
          If IsIconic(Handle) = False Then ShowWindow Handle, AppState
 
      End Select
 
      ' Fenster aktivieren
      AppActivate AppID, False
 
      ' Funktions-Rückgabewert auf erfolgreich (TRUE) setzen
      WindowActivate = True
 
      ' Funktion beenden
      Exit Function
    End If
 
    ' nächstes Fenster suchen
    Handle = GetWindow(Handle, GW_HWNDNEXT)
  Loop
 
  ' hier gehts nur hin, wenn kein Fenster mit der angegebenen
  ' Prozess-ID (also AppID) gefunden wurde
 
  ' Funktions-Rückgabewert auf NICHT erfolgreich (FALSE) setzen
  WindowActivate = False
 
End Function

Viel Spass,
R@lf

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
AppActivate AppID, vbMaximizedFocus6.914Harald27.09.03 10:25
Re: AppActivate AppID, vbMaximizedFocus5.977RalfH29.09.03 08:22
Re: Nochmal5.663RalfH29.09.03 08:29

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