Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Resgistro Windows - informacion sobre claves?

Me gustaria saber la ruta de algunas aplicaciones, y me gustaria obtenerlas del registro por ser el unico lugar fiable y seguro que las rutas son correctas. El problema es que no se que claves son...

Bueno, por ejemplo, si quiero saber la ruta de "Mis Documentos", pero del usuario que se ha conectado...la ruta es:

- C:\\documents and settings\\"nombre usuario"\\Mis documentos -

Pero como obtengo el "nombre usuario"...???

GRACIAS!!

Antonio
Responder Con Cita
  #2  
Antiguo 21-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
el usuario:
Código Delphi [-]
Function NombreUsuarioWindows: String; 
var
   pcComputerUser : PChar;
   dwCSize    : DWORD;
begin
     Result := '' ;
     dwCSize := MAX_COMPUTERNAME_LENGTH + 1;
     GetMem( pcComputerUser, dwCSize );
     try
            if Windows.GetUserName( pcComputerUser, dwCSize ) then
               Result := pcComputerUser;
     finally
            FreeMem( pcComputerUser );
     end;
end;
Responder Con Cita
  #3  
Antiguo 21-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En éste hilo tienes la función y los parámetros necesarios para obtener los directorios "especiales" como: Mis Documentos, Directorio temporal, directorio de Windows, escritorio,...

hilo

Código Delphi [-]
  CSIDL_DESKTOP                    C:\WINDOWS\Escritorio
  CSIDL_PROGRAMS                  C:\WINDOWS\Menú Inicio\Programas
  CSIDL_PERSONAL                   C:\Mis documentos
  CSIDL_FAVORITES                  C:\WINDOWS\Favoritos
  CSIDL_STARTUP                    C:\WINDOWS\Menú Inicio\Programas\Inicio
  CSIDL_RECENT                      C:\WINDOWS\Recent
  CSIDL_SENDTO                      C:\WINDOWS\SendTo
  CSIDL_STARTMENU                 C:\WINDOWS\Menú Inicio
  CSIDL_DESKTOPDIRECTORY      C:\WINDOWS\Escritorio
  CSIDL_NETHOOD                    C:\WINDOWS\Entorno de red
  CSIDL_FONTS                        C:\WINDOWS\FONTS
  CSIDL_TEMPLATES                 C:\WINDOWS\ShellNew
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 21-03-2005 a las 11:54:17.
Responder Con Cita
  #4  
Antiguo 21-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Compañero Neftali, creo que hemos metido la pata, este foro es de C++ builder....¿ y que hago yo aqui ?

Perdon.
Responder Con Cita
  #5  
Antiguo 21-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Lepe
¿ y que hago yo aqui ?
Pues lo mismo que yo... más perdidos los dos "que un pulpo en un garaje" .
Discupas a la gente del foro de C++.
De todas formas dejo el código Delphi, porque seguramente puede servir la API y los parámetros para llamarla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 23-03-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Gracias por contestar!!

No me sirve mucho, pero bueno....se agradece el intento!!

Lo que yo necesito, son las claves del registro de windows!!

Un saludo, y un euro al que me lo diga, jejeje!

Antonio
Responder Con Cita
  #7  
Antiguo 23-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por alt126
Lo que yo necesito, son las claves del registro de windows!!
Es justo lo que hace esa función; Para que no tengas que tener buscar tú en el registro de Windows segun el directorio que estés buscando (cambia la clave) y segun la versión de Windows que estés usando (tambien cambia la clave) ésta función te busca el path de éstos directorios independientemente sin que tú tengas que preocuparte de la versión del S.O. y del usurio actual.

Vuelvo a decir, que creo que buscarla directamente en el registro te puede dar problema segun las versiones...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 23-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No pongo la mano en el fuego, pero creo que la función Windows.GetUserName tambien existe en C++ builder.

¿Para que usar las claves del registro, si tienes una función que ya lo hace?

De todas formas, podrías mirar el hilo que Neftali puso, SHGetSpecialFolderLocation tambien debe estar en C++

Suerte !! y siento no poder ayudar más
Responder Con Cita
  #9  
Antiguo 28-03-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Gueno, no preocuparse que ya paso yo por aqui.

A ver si te sirve.

#include <registry.hpp>

void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry* thisReg = new TRegistry();
thisReg->RootKey = HKEY_LOCAL_MACHINE;
thisReg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", false);
ShowMessage (thisReg->ReadString("Personal"));
thisReg->CloseKey();
delete (thisReg);

}
Responder Con Cita
  #10  
Antiguo 28-03-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Cita:
Empezado por Neftali
Vuelvo a decir, que creo que buscarla directamente en el registro te puede dar problema segun las versiones...
Opino igual.
Responder Con Cita
  #11  
Antiguo 28-03-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Cita:
Empezado por alt126
Un saludo, y un euro al que me lo diga, jejeje!
Jodio tacaño, unas birritas y un poco de jamon serrano.
Responder Con Cita
  #12  
Antiguo 01-04-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Funciona perfectamente!!

Muchas gracias por vuestra ayuda...siento no haber contestado antes, pero he estado muy liado...cosas de la informatica...unos dias te sale todo y tienes tiempo libre para contar moscas y otros dias es todo tan dificil que podrias estar 5 vidas seguidas y no te saldria ninguna solucion...

Igual que el futbol..."...la informatica es asi...ya no hay problema pequeño..."

La solucion propuesta me funciona perfectamente...respecto a lo del euro, puessssssss, si eso te lo cambio por una cerveza y unas tapitas de jamon...pero tendras que venir hasta aki (Gastos derivados del viaje no incluidos)...asi k no se si sale a cuenta o no .

Un saludo,

Antonio
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


La franja horaria es GMT +2. Ahora son las 23:10:36.


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