2012-03-20 12 views
6

Estoy buscando asignar un disco en mi programa. Mis usuarios pueden usar todas las versiones de Windows desde XP en adelante. Entonces necesito el método más versátil. He usado el primer método antes y generalmente me ha funcionado bien. Pero realmente no hay forma de detectar errores con eso (que yo sepa de todos modos). El segundo me dejará fácilmente envolver un bloque try/catch alrededor de él, pero para toda la búsqueda que hice de alternativas al método 1, solo me he topado con el método 2 una vez. Entonces eso me deja a pensar si es lo suficientemente confiable para un entorno tan variado. ¿Alguien puede decirme si el método 2 es seguro para la mayoría de las circunstancias?Unidad de red del mapa: "NET.exe USE" frente a WshNetwork.MapNetworkDrive?

Método 1

Process.Start("net.exe", @"USE Z: \\server\share /user:domain\username password").WaitForExit(); 

Método 2 hace referencia a la escritura de Windows modelo de host del objeto

IWshNetwork_Class network = new IWshNetwork_Class(); 
network.MapNetworkDrive("k:", @"\\server\share"); 
+3

Me gusta # 2. Se ve más limpio y se proporcionó como parte de una API. Sin embargo, ¿qué hay de poder especificar credenciales, etc.? –

+0

Sí, puede usar las credenciales. Lo dejé por claridad. – JimDel

+1

http://pinvoke.net/default.aspx/mpr/WNetAddConnection2.html –

Respuesta

Cuestiones relacionadas