Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Crear unidad virtual temporaria

Buenas gente !!!!

Lo que me trae esta vez a crear un hilo, es la necesidad de crear una unidad virtual en win, mientras el programa se este ejecutando, para mantener alli, los archivos generados por el mismo a los que tienen acceso los usuarios....

Alguien tiene alguna idea por donde empezar? o algun tip?

Desde ya muchas gracias !
__________________
Moment of chaos....
Responder Con Cita
  #2  
Antiguo 06-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Y no te sirve con crear una carpeta?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 06-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Seria una solucion bastante simple, pero no, debe ser una unidad virtual
__________________
Moment of chaos....
Responder Con Cita
  #4  
Antiguo 06-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Puedes crear unidades en memoria usando el Ramdisk de microsott, lo puedes bajar de su pagina web. Pero no podrias crearlar y elimnarla desde tu aplicacion, tendrias que hacer la instalacion como cualquier otro dispositivo.

Por otra parte, ¿por que tiene que ser una undidad virtual? . Si es para que sea facil de encontrar por los usuarios puedes usar el comando subst para mapear un directorio como si fuera una unidad nueva. Y si es para que no quede rastro de los archivos o por que no tienes permiso de escritura en el disco la mejor opcion es el Ramdisk pero recuerda que para instalarlo necesitaras ser administrador del equipo.
Responder Con Cita
  #5  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Buenas, gracias por la respuesta !
Es un programita que va a correr en lans, y previendo la configuracion de seguridad de algunas, y tanto para correr en el server como en los clientes, queria generalizar haciendo esta unidad virtual para no tener problemas, pero podria ser usando subst, ahora.... como hago, si no tengo derecho de escritura, para cambiar los derechos (luego de pedir el ingreso del pass de administrador)?


Desde ya muchas graciaaaaaaaaaas !!!!
__________________
Moment of chaos....
Responder Con Cita
  #6  
Antiguo 07-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Estoy asombrado de que el Subst, siga existiendo aún.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 07-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Por muy restringido que este el sistema, siempre tendrás acceso a un directorio temporal (corregirme si me equivoco). Solo tendrías que crear un directorio dentro del directorio temporal y usar "subst", o algún método similar, para convertirlo en una nueva unidad de disco.
Responder Con Cita
  #8  
Antiguo 07-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Acabo de hacer una prueba con el que yo creía obsoleto comando interno del DOS y funciona:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec( 'Subst J: E:\marcosweb' ,SW_SHOWNORMAL);
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 07-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Yo tambien hice algunas pruebas:

Código Delphi [-]
uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
const
  Nombre = 'Temporal';
var
  Buffer: array[0..MAX_PATH] of Char;
  TempPath: string;
begin
  FillChar(Buffer,Sizeof(Buffer),0);
  if GetTempPath(Sizeof(Buffer) - 1, @Buffer) > 0 then
  begin
    TempPath:= string(PChar(@Buffer));
    if Copy(TempPath, Length(TempPath), 1) <> '\' then
      TempPath:= TempPath + '\';
    TempPath:= TempPath + Nombre;
    if not DirectoryExists(TempPath) then
      CreateDirectory(PChar(TempPath), nil);
    ShellExecute(Handle, nil, 'Subst', PChar('z: ' + TempPath), nil, SW_HIDE);
  end;
end;
Responder Con Cita
  #10  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Marcos, eso es sobre NT o 9x?
__________________
Moment of chaos....
Responder Con Cita
  #11  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
seoane, esa funciona de maravilla !

__________________
Moment of chaos....
Responder Con Cita
  #12  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
y para "desmontar" como serian los parametros ?
__________________
Moment of chaos....
Responder Con Cita
  #13  
Antiguo 07-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ANG4L
y para "desmontar" como serian los parametros ?
Volveriamos a usar el comando Subst
Código Delphi [-]
  // Z es la letra de la unidad a desmontar
  ShellExecute(Handle, nil, 'Subst', PChar('/D z:'), nil, SW_HIDE);
Responder Con Cita
  #14  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Se Agradeceeee !!!!
Pero me quede con la otra duda, como seria ?
No me va a dejar dormir, ajjajaj

Saludos, gente !
__________________
Moment of chaos....
Responder Con Cita
  #15  
Antiguo 07-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ANG4L
Pero me quede con la otra duda, como seria ?
No me va a dejar dormir, ajjajaj
Me perdí. ¿Que otra duda?
Responder Con Cita
  #16  
Antiguo 07-07-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
la que reemplazaria a lo que hace el Ramdisk
__________________
Moment of chaos....
Responder Con Cita
  #17  
Antiguo 07-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ANG4L
la que reemplazaria a lo que hace el Ramdisk
Si lo que te interesa es crear una unidad virtual tu mismo por código, primero vete olvidando del delphi, pues estaríamos hablando de un "controlador de dispositivo" y el compilador de delphi no puede generar este tipo de ejecutable. Si te decides por ejemplo a hacerlo en C, vete preparándote para un arduo trabajo de MUCHAS lineas de código y nada fácil de depurar. Y aun así el resultado seria un controlador que tendrías que instalar en cada equipo, para lo que tendrías que tener derechos de administrador.

Si realmente necesitas un Ramdisk utiliza el Ramdisk de microsoft, que te puedes descargar gratis de su pagina web. O puedes buscar algún otro en google, yo he usado este http://www.acc.umu.se/~bosse/ que te permite crear un disco virtual a partir de un archivo.

Si lo anterior no era lo que preguntabas, por favor vuelve a preguntar
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Virtual Replay - Repetición Virtual de los Goles del Mundial delphi.com.ar La Taberna 0 26-06-2006 17:15:07
Crear un Virtual Drive lalogrosz API de Windows 0 11-03-2005 20:12:37
Virtual PC fjcg02 Linux 2 15-12-2004 18:11:18
Conexión a través de Unidad virtual taita Conexión con bases de datos 5 31-08-2004 10:51:24
Red virtual Pablo Carlos Varios 4 07-08-2004 02:24:31


La franja horaria es GMT +2. Ahora son las 23:18:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi