![]() |
WNetAddConnection2 & Vista
Zum Verbinden von Netzlaufwerken verwende ich folgenden Code:
Delphi-Quellcode:
Was unter XP & 2000 wunderbar funktioniert, macht in Vista Probleme (Programm wird als Administrator ausgeführt).
function ConNetDrive(Laufwerk: String; Pfad: String;
Username: String; Password: String; RestoreAtLogon: Boolean): DWORD; var NetResource: TNetResource; dwFlags: DWORD; chPassword, chUsername : PChar; begin ZeroMemory(@NetResource, sizeof(TNetResource)); with NetResource do begin dwType := RESOURCETYPE_DISK; lpLocalName := PChar(Laufwerk); lpRemoteName := PChar(Pfad); lpProvider := nil; end; if (RestoreAtLogon) then dwFlags := CONNECT_UPDATE_PROFILE else dwFlags := 0; if Username <> '' then chUsername := PChar(Username) else chUsername := nil; if Password <> '' then chPassword := PChar(Password) else chPassword := nil; Result := WNetAddConnection2(NetResource, chPassword, chUsername, dwFlags); end; Die Funktion wird zwar irgendwie abgearbeitet (bei falschen Eingaben gibt es entsprechende Rückmeldungen, bei korrekten Eingaben kommt 0 zurück und die Einträge sind per WNetGetConnection auch kontrollierbar), jedoch werden die Netzlaufwerke nicht im Arbeitsplatz angezeigt und können auch nicht direkt in der Adresszeile aufgerufen werden. Welche Änderung könnte es hier gegeben haben, dass Vista hier noch explizit zum Aktualisieren gebracht werden könnte bzw. wie könnte das gehen? |
Re: WNetAddConnection2 & Vista
Der Explorer läuft nicht mit Admin-Rechten und kann damit nicht deine (mit Adminrechten) verbunden Laufwerke sehen.
|
Re: WNetAddConnection2 & Vista
Oh ... na super.
Wie dann? Das Programm muss mit Adminrechten laufen... |
Re: WNetAddConnection2 & Vista
Zitat:
|
Re: WNetAddConnection2 & Vista
Gibt es vielleicht noch eine andere Möglichkeit, die ohne weitere Programmdateien auskommt?
Abgesehen davon dachte ich, dass Programmrechte vererbt werden und ein Programm seinen Status nicht wieder heruntersetzen kann!? |
Re: WNetAddConnection2 & Vista
Warum muss Dein Programm mit Admin-Rechten laufen. Jeder User, ob Benutzer oder Hauptbenutzer kann sich Laufwerke verbinden. Hast Du das ganze vielleicht schon mal mit dem VISTA-Manifest ausprobiert ? Dort kannst Du das Programm normal starten und dann über das Manifest Administratorrechte anfordern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 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