Form nur auf dem Desktop

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ©F.A SystemsOWNERxD.

    Von einem Konzept in meinem Kopf kann ich keinen Screen machen. Sprich: bis jetzt habe ich nicht außer viel Zeit und einer Idee diese Sinnerfüllt zu verbringen.

    Um es zu präzisieren; ich möchte ein Programm machen, dass so funktioniert, wie die Windows Sidebar. Die Form soll von allen Fenstern verdeckt werden, es sei denn, der User befindet sich auf dem Desktop.

    Ich möchte übrigens keinen Ableger von der Sidebar proggen.
    Ahsou, jetzt hab ichs verstanden, ja ich weiß leider nicht wie es geht, hast du schon gegoogelt oder SuFu benutzt?

    Hier schau dir Mikes website ( steht in dem post vom link) an vlt hilft dir das weiter oder den post unter mikes

    LG fabian
    Das war ja einfach, danke!

    Für alle, die es brauchen:

    VB.NET-Quellcode

    1. Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As IntPtr, ByVal hWndInsertAfter As Int32, _
    2. ByVal x As Int32, ByVal y As Int32, ByVal cx As Int32, _
    3. ByVal cy As Int32, ByVal wFlags As Int32) As Int32
    4. Const SWP_NOSIZE As Int32 = &H1
    5. Const SWP_NOMOVE As Int32 = &H2
    6. Const SWP_NOZORDER As Int32 = &H4
    7. Const SWP_NOACTIVATE As Int32 = &H10
    8. Const SWP_DRAWFRAME As Int32 = &H20
    9. Const SWP_SHOWWINDOW As Int32 = &H40
    10. Const SWP_HIDEWINDOW As Int32 = &H80
    11. Const HWND_TOPMOST As Int32 = -1 'bringt ein fenster an die oberste stelle
    12. Const HWND_NOTOPMOST As Int32 = -2 'bringt ein fenster an die unterste stelle eines containers
    13. Const HWND_BOTTOM As Int32 = 1 'bringt ein fenster an die unterste position aller fenster


    Beispiel(auf mein Konzept bezogen):

    VB.NET-Quellcode

    1. Private Sub frmMain_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
    2. SetWindowPos(Me.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
    3. End Sub


    Sobald die Form den Fokus bekommt, wird sie auf die unterste Ebene aller Fenster(alse den Desktop) reduziert.