| |
Suche Visual-Basic CodeHintergrundbild auf Desktop aktivieren Visual Basic 2012 | | | Autor: Albundyah | Datum: 17.08.15 14:23 |
| Hallo,
ich habe hier ein älteres Coding gefunden um Desktop Symbole ein bzw. auszublenden.
Desktop-Icons ein/ausblenden
http://www.vbarchiv.net/tipps/tipp_189-desktop-icons-ein-ausblenden.html
Leider wird nach dem Hide setzen auch das Hintergrundbild ausgeblendet und der Bildschirm ist schwarz.
Aktivieren mit -->
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, sWallpaper, SPIF_UPDATEINIFILE)
klappt leider auch nicht.
Frage: gibt es eine andere Möglichkeit das Hintergrundbild wieder zu aktivieren ?
Danke schon mal im voraus
Beitrag wurde zuletzt am 17.08.15 um 14:24:16 editiert. | |
Re: Hintergrundbild auf Desktop aktivieren Visual Basic 2012 | | | Autor: timonator | Datum: 24.02.16 00:05 |
| Hier alternativer code, der anstandslos funktioniert, allerdings werden auf dem Desktop angepinnte Elemente mit ausgeblendet.
Imports System.Runtime.InteropServices
Public Class Form1
Private Enum SetWindowPosFlags As Integer
''' <summary>Hides the window.</summary>
''' <remarks>SWP_HIDEWINDOW</remarks>
HideWindow = &H80
''' <summary>Displays the window.</summary>
''' <remarks>SWP_SHOWWINDOW</remarks>
ShowWindow = &H40
End Enum
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindow( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function SetWindowPos( _
ByVal hWnd As IntPtr, _
ByVal hWndInsertAfter As IntPtr, _
ByVal X As Integer, _
ByVal Y As Integer, _
ByVal cx As Integer, _
ByVal cy As Integer, _
ByVal uFlags As SetWindowPosFlags) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr, _
ByVal childAfter As IntPtr, _
ByVal lclassName As String, _
ByVal windowTitle As String) As IntPtr
End Function
Public Sub DesktopIconsHide()
Dim hWnd As IntPtr
hWnd = FindWindow(Nothing, "Program Manager")
SetWindowPos(hWnd, CType(0, IntPtr), 0, 0, 0, 0, _
SetWindowPosFlags.HideWindow)
End Sub
Public Sub DesktopIconsShow()
Dim hWnd As IntPtr
hWnd = FindWindow(Nothing, "Program Manager")
SetWindowPos(hWnd, CType(0, IntPtr), 0, 0, 0, 0, _
SetWindowPosFlags.ShowWindow)
End Sub
End Class | |
Re: Hintergrundbild auf Desktop aktivieren Visual Basic 2012 | | | Autor: Franki | Datum: 02.03.16 01:49 |
| Hallo,
warum möchtest du so etwas machen?
Ich richte meinen Desktop so ein wie ich es für richtig halte. Wenn jetzt ein Programm daher kommt was mir diesen verändert, würde ich es nicht installieren (wenn ich vorher weiß dass es das macht), wenn ich es nicht weiß, würde ich es wieder deinstallieren und hoffen, dass alles wie vorher ist. Wenn das nicht klappt, dann halt Datensicherung einspielen.
Desktopgestaltung, sei es Icons, Hintgergrundbilder oder was auch immer ist Sache des Anwenders. Du hast volle Gestaltungsfreiheit innerhalb deiner Anwendung, aber du solltest dich aus den allgemeinen Einstellungen der User einfach heraus halsten.
Also abschließend nochmals die Frage warum du so etwas machen möchtest.
Einfach ist das nämlich nicht, du müsstest (wenn es wichtig ist) auch kontrollieren, ob der User das nicht wieder umgestellt hat oder viel schlimmer noch, ob er nicht eine andere Software installiert hat die das wi8eder verändert hat. Usw, usw...
Gruß
Frank | |
| 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 |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|