Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: klaususkun en 19 Julio 2007, 17:33 pm



Título: Unidad Virtual
Publicado por: klaususkun en 19 Julio 2007, 17:33 pm
Hola estoy aprendiendo visual basic con el curso de "Guille" (Elguille.info) que lo encontre en una recopilacion de cosas en un hilo de aki xips....

Vamos a lo que iba... Es posible realizar en VB una unidad virtual?

Me explico... Querria hacer algo similar (en estilo) al programa "Gmail Drive" (Solo que no es para acceder a ninguna cuenta de correo lo que quiero hacer).

(http://www.seguridadpc.net/images/mipc_discovirtual.gif)

Es decir que vas a mi pc y te aparece una nueva unidad (virtual) que cuando la abres realmente los archivos que ves (Carpetas, txt ...) son por ejemplo los que tenga alojados en mi servidor web por ejemplo (www.klaususkun.com).

Y asi al darle a la unidad virtual en mi pc accedo a los archivos que tenga en mi host  los veo en plan como si fuera una unidad de windows con sus carpetas  etc.. y cuando le des a alguno se descarge y abra acto seguido (serian archivos de unpar de Kb como txt, docs..)

Asi que diganme es esto posible de hacerse en VB o en VB es imposible?


Título: Re: Unidad Virtual
Publicado por: Lambda en 19 Julio 2007, 18:33 pm
si que es posible ;D ;D

Mirate este codigo, una vez me lo baje y lo probe y funciona (creo que es este)

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=61198&lngWId=1

Saludos


Título: Re: Unidad Virtual
Publicado por: klaususkun en 19 Julio 2007, 19:35 pm
si que es posible ;D ;D

Mirate este codigo, una vez me lo baje y lo probe y funciona (creo que es este)

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=61198&lngWId=1

Saludos

Lo he probado pero tengo un par de dudas no he conseguido montar mas que carpetas en mi pc. No he podido montar una unidad en una direccion web? se puede hacer?
Dime como xfa...


Título: Re: Unidad Virtual
Publicado por: Lambda en 19 Julio 2007, 19:52 pm
no se me ocurre ninguna manera de hacer eso :S

la unidad virtual de G-Mail creo que tiene un Kernel Driver y por eso puede mapear las carpetas y archivos que estan en la cuenta gmail


Título: Re: Unidad Virtual
Publicado por: klaususkun en 19 Julio 2007, 20:50 pm
no se me ocurre ninguna manera de hacer eso :S

la unidad virtual de G-Mail creo que tiene un Kernel Driver y por eso puede mapear las carpetas y archivos que estan en la cuenta gmail

Pues vaya no se exactamente que significa eso pero suena a "No se puede" xD
Y estais seguros que con las shell subst.exe solo pueden montarse carpetas en tu pc? no se puede montar una en un ftp o http??

Esk el programa de ejemplo que me pasastes no me dejaba pero igual si se puede...
Si alguien sabe algo por favor que conteste


Título: Re: Unidad Virtual
Publicado por: SERBice en 20 Julio 2007, 13:29 pm
es buena data, ... ahora bien, ¿alguien sabe si se peude hacer con carpetas compartidas (osea, montar una carpeta de otra pc) o si es posible montar la unidad y mostrar archivos inexistentes y que cuando sean solicitados sean enviados desde un servidor tambien programad en vb.?


Título: Re: Unidad Virtual
Publicado por: klaususkun en 21 Julio 2007, 01:23 am
Como veo que nadie tiene respuestas a mis preguntas a las del compadre "Serbice" pues hare nuevas preguntas...

Veo que lo mas cerca de montar una unidad virtual que tienen conocimiento es el ejemplo mostrado arriba no? que solo monta una carpeta en una nueva unidad ahora bien. Esto me podria servir (De forma patatera) si cumpliera una simple norma poder cambiarle el nombre a la nueva unidad. Es decir:
Si yo creo una nueva unidad por ejemplo "D:\"  haciendo que carge realmente "C:\Windows\" La nueva Unidad "D" Recibe el mismo Nombre Que la unidad en la cual esta ubicada la carpeta (C).
Asi si la C le pongo de nombre "Disco duro"  la D recibe de nombre "Disco duro" tambien y quisiera poder hacer que almenos los nombres fueran direntes.

Sabrian decirme como? o que modificar del codigo por que mas que lo intente no saco nada en claro u.u


Título: Re: Unidad Virtual
Publicado por: Kizar en 25 Julio 2007, 13:51 pm
Te dejo esto mio:
Código:
Private Declare Function DefineDosDevice Lib "kernel32" Alias "DefineDosDeviceA" (ByVal dwFlags As Long, ByVal lpDeviceName As String, Optional ByVal lpTargetPath As String = vbNullString) As Long
Private Const DDD_REMOVE_DEFINITION As Long = &H2

Private Sub Form_Load()
Dim letra As String, ruta As String
letra = "S:"
ruta = "C:\AppServ"
'Montar
DefineDosDevice 0, letra, ruta
'Desmontar
'DefineDosDevice DDD_REMOVE_DEFINITION, letra, ruta
End Sub

Respondiendo a tu pregunta, para cambiar el nombre (etiqueta) de una unidad se usa la api SetVolumeLabel, pero esto es una unidad virtual y siempre va a tener el nombre de la unidad que contiene la carpeta a la que acedes, por ejemplo si tu unidad virtual te lleva a "D:\windows" la unidad virtual va a tener el mismo nombre que la unidad "D:" y eso no se peude cambiar.


Título: Re: Unidad Virtual
Publicado por: SERBice en 27 Julio 2007, 08:50 am
estuve probando el code y logre:

usar un recurso de red usando la ruta "\\nombre_pc\directorio_cmopartido"

tengo dos inconvenientes:

1: el nombre de la unidad es "Unidad de red desconectada (S:)" doned S: es la letra que yo le asigno, puede ser cualquiera.
2: cualquier persona podrìa ingrsar al recursod e red, la idea es ponersela a un ordenador X para que acceda a una carpeta X de otra maquina (usada como server) y que el resto de las pc's al nio tener la uniad (que es un acceso al recurso de red) no puedan ver donde estan los documentos; el problema es que se ve cmo un recurso en todas las pc's.

preguntas:

como hago para crear una unidad y conectarla a un FTP (eso seria la coluciona al segundo problema que planteo), o bien; como coloco un cnotraseña a un recurso de red y como hago para ponerla desde un soft hecho en VB y además que al emular la unidad logre loguearse al recurso con contraseña.....


¿se podra hacer algo ?


de antemano gracias.

Saludos.