![]() |
Problem mit Funktion WNetAddConnection2
Hallo DPler,
ich habe folgenden Code:
Delphi-Quellcode:
Wenn ich ihn ausfuehre hat Result 67 und somit OK! Ich bekomme aber die ShowMessage angezeigt und sobald ich sie mit OK wegklicke bekomme ihc mein richtiges Ergebnis.
function TfoMain.RegLoginAndConnectRegistry(lpMachineName: String; hKey: HKEY;
var phkResult: HKEY; User, Password: String): LongInt; var lpNetResource: TNetResource; begin with lpNetResource do begin dwType := RESOURCETYPE_ANY; lpLocalName := nil; lpProvider := nil; lpRemoteName:= PChar(lpMachineName + '\IPC$'); end; Result := WNetAddConnection2(lpNetResource, PChar(Password), PChar(User), 0); if ( Result = NO_ERROR ) then begin Result := RegConnectRegistry(PChar(lpMachineName), hKey, phkResult); end else begin ShowMessage(SysErrorMessage(GetLastError)); end; end; Weis jemand warum? |
Re: Problem mit Funktion WNetAddConnection2
Ich bin der Meinung, daß WNetAddConnection2 0 für "OK" und 67 für "The network name cannot be found" zurück liefert.
|
Re: Problem mit Funktion WNetAddConnection2
Funktioniert der Code denn mit einer administrativen Freigabe (z.B. C$)? Ich bin nämlich der Meinung das man sich auf die IPC$-Freigabe überhaupt nicht verbinden kann.
|
Re: Problem mit Funktion WNetAddConnection2
Wie schon gesagt,
ich bekomme die ShowMessage, klicke sie weg und bin verbunden mit dem anderen PC! |
Re: Problem mit Funktion WNetAddConnection2
stell mal die Optimierung aus ;-) die hat mir beim der WinAPI schon öfters Streiche gespielt....
EInfach {$O-} über die Funktion und {$O+} drunter. Was steht denn in der MessageBox? kannst es ja mal mit 0 probieren bzw. in die Messagebox zusätzlich den rückgabewert noch reintun. |
Re: Problem mit Funktion WNetAddConnection2
Hi Luke,
danke. Werd ich sofort probieren. Der Rueckgabewert ist 67 und als Fehler kommt dann ERROR_NO_NETWORK. Dann aber wie gesagt mit OK die ShowMessage weg und ich bin verbunden. Aber das kann ich ja so nicht wirklich lassen denn es ist ja dann nicht wirklich ein Error! |
Re: Problem mit Funktion WNetAddConnection2
Moin Mackhack,
ich hoffe doch mal, dass lpMachineName auch die führenden \\ beinhaltet. |
Re: Problem mit Funktion WNetAddConnection2
Inzwischen ja, seit ca. 1h!
Aber immer noch das gleiche Problem! |
Re: Problem mit Funktion WNetAddConnection2
Hi,
wie koennte ich denn pruefen ob RegConnectRegistry Nil ist? Denn laut MSDN wird die locale Registry ausgelesen/verbunden wenn es Nil ist. Da aber ja Result vom Typ LongInt ist weis ich nicht so recht wie machen. Mit Assigned(Result) will es nicht so wirklich! Danke! |
Re: Problem mit Funktion WNetAddConnection2
Öhm... entweder es ist ein Pointer (was ich mir nicht vorstellen kann; dann würde "null" im MSDN stehen) oder es ist ein Handle, in beiden Fällen kannst auf "=0" prüfen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz