Hallo, ich wollte ein Program machen mit dem ich verschiedene Desktops verwalten kann, aber der erstellt einfach keinen Desktop. Mein Code ist folgender:
Mein Code
Aber in der Markierten Zeile Kommt folgender Fehler:
Fehler
Hä?
Kann mir einer sagen was ich falsch mach?
Danke
Leseratte
VB.NET-Quellcode
- Class Form1
- Private Const CCHFORMNAME = 32
- Private Const CCHDEVICENAME = 32
- Private Structure SECURITY_ATTRIBUTES
- Dim nLength As Integer
- Dim lpSecurityDescriptor As Integer
- Dim bInheritHandle As Integer
- End Structure
- Private Structure DEVMODE
- Dim dmDeviceName As String
- Dim dmSpecVersion As Short
- Dim dmDriverVersion As Short
- Dim dmSize As Short
- Dim dmDriverExtra As Short
- Dim dmFields As Integer
- Dim dmOrientation As Short
- Dim dmPaperSize As Short
- Dim dmPaperLength As Short
- Dim dmPaperWidth As Short
- Dim dmScale As Short
- Dim dmCopies As Short
- Dim dmDefaultSource As Short
- Dim dmPrintQuality As Short
- Dim dmColor As Short
- Dim dmDuplex As Short
- Dim dmYResolution As Short
- Dim dmTTOption As Short
- Dim dmCollate As Short
- Dim dmFormName As String
- Dim dmUnusedPadding As Short
- Dim dmBitsPerPel As Integer
- Dim dmPelsWidth As Integer
- Dim dmPelsHeight As Integer
- Dim dmDisplayFlags As Integer
- Dim dmDisplayFrequency As Integer
- End Structure
- Private Declare Function CreateDesktop Lib "user32" Alias "CreateDesktopW" ( _
- ByVal lpszDesktop As Long, _
- ByVal lpszDevice As Long, _
- ByVal pDevmode As Object, _
- ByVal dwFlags As Long, _
- ByVal dwDesiredAccess As Long, _
- ByVal lpsa As Object _
- ) As Long
- Private Declare Function SwitchDesktop Lib "user32" (ByVal hDesktop As Long) As Long
- Private Declare Function GetThreadDesktop Lib "user32" (ByVal dwThread As Long) As Long
- Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
- Private Declare Function OpenInputDesktop Lib "user32" ( _
- ByVal dwFlags As Long, _
- ByVal fInherit As Boolean, _
- ByVal dwDesiredAccess As Long _
- ) As Long
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim Normal As IntPtr = GetCurrentThreadId()
- Dim Sperr As IntPtr = CreateDesktop(12345, 0, Nothing, 0, 0, 0) REM Hier kommt der Fehler
- SwitchDesktop(Sperr)
- System.Threading.Thread.Sleep(20000)
- SwitchDesktop(Normal)
- End Sub
- End Class
Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
Hä?
Kann mir einer sagen was ich falsch mach?
Danke
Leseratte