Sunray
Erfahrenes Mitglied
Hi,
ich versuche gerade meinen Windows Desktop mit .NET zu erweitern. So als kleines Experiment. So weit bin ich im Moment:
Für 5 Sekunden nach Programmstart kann ich lustige, weisse Kreise auf den Desktop malen, aber ich möchte mehr. Wäre es nicht auch möglich, Controls auf dem Desktop zu platzieren? Ich bekomme auch das Window Handle des Desktops mit
heraus, aber das nützt mir nicht viel, da
Null zurück gibt, wenn der aufrufende Prozess nicht Besitzer des Fensters ist, was ja so rein Sicherheitstechnisch auch Sinn macht.
Gibt es jetzt irgend eine Möglichkeit, trotzdem an eine Referenz auf "Desktop Control" zu bekommen oder zum Beispiel einen Butten auf dem Desktop zu platzieren, ohne transparente Fenster zu benutzen?
ich versuche gerade meinen Windows Desktop mit .NET zu erweitern. So als kleines Experiment. So weit bin ich im Moment:
Code:
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As IntPtr
Public ReadOnly DesktopDeviceContext As IntPtr = GetDC(0)
Public Sub Main()
Using g As Graphics = Graphics.FromHdc(DesktopDeviceContext)
Dim elapsed As Long = 0
While elapsed < 5000
g.FillEllipse(Brushes.WhiteSmoke, New Rectangle(Form.MousePosition.X - 5, Form.MousePosition.Y - 5, 10, 10))
Threading.Thread.Sleep(1)
elapsed += 1
End While
End Using
End Sub
Code:
Declare Function GetDesktopWindow Lib "user32" () As IntPtr
Code:
System.Windows.Forms.Form.FromHandle(hwnd as IntPtr)
Gibt es jetzt irgend eine Möglichkeit, trotzdem an eine Referenz auf "Desktop Control" zu bekommen oder zum Beispiel einen Butten auf dem Desktop zu platzieren, ohne transparente Fenster zu benutzen?