none
SHAppBarMessage RRS feed

  • Frage

  • Hallo,

    kann mir jemand sagen warum folgender Code nicht funktioniert?

    Ich bekomme für Ret immer 0 zurück.

    Public Const ABM_GETSTATE As Int32 = &H4

    Public Const ABS_AUTOHIDE As Int32 = &H1

    Public Const ABS_ONTOP As Int32 = &H2

    Public Structure APPBARRECT

        Dim LeftPixel As Int32
        Dim TopPixel As Int32
        Dim RightPixel As Int32
        Dim BottomPixel As Int32
    End Structure
    Public Structure APPBARDATA
        Dim cbSize As Int32
        Dim hWnd As Int32
        Dim uCallbackMessage As Int32
        Dim uEdge As Int32
        Dim rc As APPBARRECT
        Dim lPara As Int32
    End Structure
    Public StartLeistenPara As APPBARDATA

    <DllImport("SHELL32", CallingConvention:=CallingConvention.StdCall)>
    Public Function SHAppBarMessage(ByVal dwMessage As Int32, ByRef pData As APPBARDATA) As Int32
    End Function

    ...

    StartLeistenPara.cbSize = Len(StartLeistenPara)
    Dim Ret As Int32 = SHAppBarMessage(ABM_GETSTATE, StartLeistenPara)


    Dienstag, 31. Dezember 2019 17:42

Antworten

Alle Antworten

  • Hallo Matthias,

    für den Rückgabewert schau mal in die Doku:

      ABM_GETSTATE message

    Returns zero if the taskbar is neither in the autohide nor always-on-top state.

    HTH


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Mittwoch, 1. Januar 2020 07:35
    Moderator
  • ja danke. Das hatte ich gelesen. Habe gerade gesehen das es nur auf dem Windows 7 System so ist.

    Dort ist die Taskleiste zwar immer "always-on-top" aber es wird dazu kein Parameter zum an-/abwählen in dem Taskleisten-Eigenschaftdialog angezeigt.

    Ich hatte das unter VB6 benutzt. Ich denke ich mache es unter VB.NET jetzt mit Screen.GetWorkingArea.

    Mittwoch, 1. Januar 2020 17:07