vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Oberfläche · Fenster   |   VB-Versionen: VB4, VB5, VB601.02.02
Fenster in der Taskbar anzeigen ein/aus

Mit diesem Trick lässt sich ein Fenster zur Laufzeit in der Taskbar anzeigen und auch wieder ausblenden.

Autor:   Thomas BannertBewertung:     [ Jetzt bewerten ]Views:  22.625 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Die Form-Eigenschaft ShowInTaskbar kann bekanntlich nur zur Entwurfszeit gesetzt werden. Die Eigenschaft gibt an, ob das Fenster in der Windows-Taskbar angezeigt werden soll oder nicht. Mit der nachfolgenden Prozedur ist es möglich diese Eigenschaft auch zur Laufzeit zu setzen. Somit kann ein Fenster nachträglich in der Taskbar angezeigt bzw. aus der Taskbar entfernt werden.

Entgegen unserem früheren Tipp wird der Fensterstil dieses Mal nicht verändert!

Fügen Sie nachfolgende Code in ein Modul ein:

Option Explicit
 
' alle benötigten Deklarationen
Private Declare Function GetWindowLong Lib "user32" _
  Alias "GetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long) As Long
 
Private Declare Function SetWindowLong Lib "user32" _
  Alias "SetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long
 
Private Declare Function ShowWindow Lib "user32" ( _
  ByVal hwnd As Long, _
  ByVal nCmdShow As Long) As Long
 
Private Declare Function GetDesktopWindow Lib "user32" () As Long
 
Private Declare Function LockWindowUpdate Lib "user32" ( _
  ByVal hwndLock As Long) As Long
 
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
Private Const GWL_EXSTYLE = (-20)
 
Public Const WS_EX_APPWINDOW = &H40000
' Fenster in der Taskbar anzeigen ein/aus
Public Sub FormInTaskbar(lhwnd As Long, _
  ByVal ShowInTaskBar As Boolean)
 
  Dim lStyle As Long
  Dim lResult As Long
 
  ' Flackern verhindern
  LockWindowUpdate GetDesktopWindow
 
  ' Form ausblenden
  lResult = ShowWindow(lhwnd, SW_HIDE)
 
  ' Window Style festlegen
  lStyle = GetWindowLong(lhwnd, GWL_EXSTYLE)
  If ShowInTaskBar = True Then
    lStyle = lStyle Or WS_EX_APPWINDOW
  Else
    lStyle = lStyle And Not WS_EX_APPWINDOW
  End If
 
  ' Neues Window Syle setzen
  SetWindowLong lhwnd, GWL_EXSTYLE, lStyle
 
  ' Form einblenden
  lResult = ShowWindow(lhwnd, SW_SHOW)
 
  LockWindowUpdate 0&
End Sub

Beispiel für den Aufruf aus einer Form heraus:

Private Sub Command1_Click()
  ' In Taskbar anzeigen
  FormInTaskbar Me.hwnd, True
  Command1.Enabled = False
  Command2.Enabled = True
End Sub
Private Sub Command2_Click()
  ' In Taskbar ausblenden
  FormInTaskbar Me.hwnd, False
  Command1.Enabled = True
  Command2.Enabled = False
End Sub

Dieser Tipp wurde bereits 22.625 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Aktuelle Diskussion anzeigen (1 Beitrag)

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 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