i diesen Code schreiben laden Standarddrucker in Windows zu ändern und arbeitet gut, aber in reload die INI-Datei hat einen Fehler dies ist ein Code:vb.net Anwendungen, die die INI-Datei
Private Sub SetDefaultPrinter(ByVal PrinterName As String, ByVal DriverName As String, ByVal PrinterPort As String)
Dim DeviceLine As String
'rebuild a valid device line string
DeviceLine = PrinterName & "," & DriverName & "," & PrinterPort
'Store the new printer information in the
'[WINDOWS] section of the WIN.INI file for
'the DEVICE= item
Call WriteProfileString("windows", "Device", DeviceLine)
'Cause all applications to reload the INI file
Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, "windows")
End Sub
Private Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lparam As String) As Long
Private Const HWND_BROADCAST As Long = &HFFFF&
Private Const WM_WININICHANGE As Long = &H1A
und das ist ein Fehler:
ein Aufruf von PInvoke Funktion ‚! Testen Test.Form2 :: Sendmessage‘ hat den Stapel unausgewogen. Dies liegt wahrscheinlich daran, dass die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur übereinstimmt. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Ziel-Signatur übereinstimmen.
Hat jemand eine Idee, um dieses Problem zu lösen? Thankful
www.pinvoke.net – Plutonix
@Plutonix Nicht viel empfehlen, eine Website wie diese zu empfehlen, so voller Fehler, wie es ist. –