Benutzer mit den meisten Antworten
WNetUseConnection geht, aber Share wird nicht angezeigt

Frage
-
Ich versuche mit WNetUseConnection ein NAS automatisch zu mappen.
Auf dem NAS befindet sich ein anoymus share, der kein usernamen und passwort erfordert. Ich verwende
CONNECT_REDIRECT und CONNECT_UPDATE_PROFILE dafür kein CONNECT_PROMPT und kein CONNECT_INTERACTIVE
lpLocalName=NULL (Windows soll den LW Buchstaben automatisch zuweisen)
und folgende Einstellungen bei NetResource:
NetResource.dwScope=RESOURCE_GLOBALNET;
NetResource.dwType=RESOURCETYPE_DISK;
NetResource.dwDisplayType=RESOURCEDISPLAYTYPE_SHARE;
NetResource.dwUsage=RESOURCEUSAGE_CONNECTABLE;WNetUseConnection kommt mit NO_ERROR zurück, aber ich sehe im Explorer kein Laufwerk.
Der entsprechende Laufwerksbuchstabe ist aber vergeben und nach dem Neustart des Systems ist das NAS Gerät korrekt gemappt.
Ich verwende zum Test Windows 7.
Fehlt noch irgendein call, um das gemapte Laufwerk sichtbar zu machen. Die Beispiele zeigen, dass nur der Aufruf von WnetUseConnection reichen sollte.
Ich habe auch schon ne Menge mit den Flags rumgespielt und einen Share mit passwort und username angelegt und gemapt. Aber jedesmal "remembered" Window die connection nur ohne sie anzuzeigen.
Hat hier jemand schon ein ähnliches Problem gehabt und gelöst?
Danke.
Michael
- Typ geändert Robert Breitenhofer Montag, 27. Juni 2011 16:41 Keine Rückmeldung des Fragenstellender
- Typ geändert Robert Breitenhofer Dienstag, 28. Juni 2011 06:25 Rückmeldung des Fragenstellender
Antworten
-
> Es war ganz einfach. Das mappen geht nur dann wirklich, wenn man nicht als admin agiert.
Dann solltest Du Die das mal durchlesen:
http://blog.m-ri.de/index.php/2007/10/12/elevated-programme-unter-vista-haben-auf-einmal-keine-gemappten-laufwerke-mehr/
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Robert Breitenhofer Montag, 11. Juli 2011 09:11
-
Eine EMail hat mich gerade daran erinnert, dass ich das Problem noch nicht als gelöst gemeldet habe.
Es war ganz einfach. Das mappen geht nur dann wirklich, wenn man nicht als admin agiert.
Genau das brauchte ich aber an einer anderen Stelle im Programm. Nachdem ich das umgangen hatte und das Programm
nun ganz normal als User läuft, wird auch das NAS vernünftig mit WNetUseConnection gemapped.
Danke,
Michael
- Als Antwort markiert Robert Breitenhofer Dienstag, 28. Juni 2011 06:26
Alle Antworten
-
Hallo NoTrialNoError,
Du sagst folgendes: „Ich versuche mit WNetUseConnection ein NAS automatisch zu mappen.“
Und hier steht folgendes (es ist die Rede um Funktion WNetUseConnection ): „Use this function to connect to a UNC path with authenticaiton, NOT to map a drive.”
Schau Dir mal die folgenden Links an. Vielleicht können sie Dir weiter helfen.
WNetAddConnection2 cannot run in Windows 7 when logon on?
Habe ein erfolgreicher Netzwerk-Share unter Windows 7 (64-bit) „gemappt“, der gleich im Explorer angezeigt wurde, mit dem Beispiel C# Sample 3 aus dem Link: http://www.pinvoke.net/default.aspx/mpr/WNetAddConnection2.html
Beschreibe nochmals was Du machen möchtest und zeige mal den ganzen Code.
Danke und Grüße,
Robert
-
Hmm, das mit WNetUseConnection funktioniert zumindest, wenn die Funktion mit CONNECT_INTERACTIVE | CONNECT_PROMPT
aufgerufen wird.
Ich habe einen Public Share und einen Share mit Namen und Passwort gestestet, was beides nicht ging.
Die Laufwerksbuchstaben waren verborgen. Der Grund scheint evtl. das zu sein, was hinter dem zweiten Link steckt.
Ich werde es mal mit dem Beispiel aus dem dritten Link testen, obwohl ich eigentlich bei WNetUseConnection ganz gut fand,
dass man keinen Laufwerksbuchstaben mitzugeben braucht, da Windows den dann automatisch zuweist.
Bis dahin erst mal vielen Dank.
Viele Grüße,
Michael
-
Eine EMail hat mich gerade daran erinnert, dass ich das Problem noch nicht als gelöst gemeldet habe.
Es war ganz einfach. Das mappen geht nur dann wirklich, wenn man nicht als admin agiert.
Genau das brauchte ich aber an einer anderen Stelle im Programm. Nachdem ich das umgangen hatte und das Programm
nun ganz normal als User läuft, wird auch das NAS vernünftig mit WNetUseConnection gemapped.
Danke,
Michael
- Als Antwort markiert Robert Breitenhofer Dienstag, 28. Juni 2011 06:26
-
> Es war ganz einfach. Das mappen geht nur dann wirklich, wenn man nicht als admin agiert.
Dann solltest Du Die das mal durchlesen:
http://blog.m-ri.de/index.php/2007/10/12/elevated-programme-unter-vista-haben-auf-einmal-keine-gemappten-laufwerke-mehr/
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Robert Breitenhofer Montag, 11. Juli 2011 09:11