elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:42  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  [Delphi] Source Utils GetPCDir
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Delphi] Source Utils GetPCDir  (Leído 926 veces)
el-viejo


Desconectado Desconectado

Mensajes: 1.257



Ver Perfil WWW
[Delphi] Source Utils GetPCDir
« en: 8 Octubre 2010, 20:35 »



Bueno aqui les dejo unas mini funciones que nos permite obtener el direcorio de windows, archivos de programas, system, etc.. sin importar en que unidad esta instalado el sistema operativo, estas funciones resultan muy utiles ya que si queremos copiar un archivo u otra cosa en tales directorio se copiara sin problemas, sin importar que el directorio raiz sea C, D, o lo que sea.

Código
program GetPCInfo;
 
{$APPTYPE CONSOLE}
 
uses
 SysUtils, Windows, Registry, ShellApi;
 
Type
//Directorios y nombres
WinSysTemp = (WindowsDir, SystemDir, TempDir);
ComputerUser = (GComputerName, GUserName);
 
Const
//Nombres, tonterias pero util, LOL XD
U = 'User name: ';
C = 'Computer name: ';
W = 'Windows: ';
S = 'System: ';
T = 'Temp folder: ';
P = 'Program files: ';
DT = 'System date time: ';
SYSLANG = 'System language: ';
TEXT = 'elhacker.net by Dominicano. (-_-) XD';
LINE = '-----------------------------------------';
 
//Windows, system y carpeta temporal (Temp)
function GetDirectory(DirWST: WinSysTemp): String;
var
Path: Array[0..MAX_PATH] of Char;
SizePath: Cardinal;
begin
SizePath := sizeof(Path);
 Case DirWST of
  WindowsDir: GetWindowsDirectory(Path, SizePath);
  SystemDir: GetSystemDirectory(Path, SizePath);
  TempDir: GetTempPath(MAX_PATH, Path);
  end;
 Result := (Path);
end;
 
//Archivos de programa
//Si queremos obtener Archivos comunes, Usar CommonFilesDir
function GetProgramFilesDir: String;
var
Regedit: TRegistry;
begin
 Regedit := TRegistry.Create;
  try
    RootKey := HKEY_LOCAL_MACHINE;
    Regedit.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', false);
    Result := Regedit.ReadString('ProgramFilesDir');
  Regedit.CloseKey;
  finally
 Regedit.Free;
end;
end;
 
//Idioma del systema
function GetUserLanguage: String;
var
Language: Array[0..150] of Char;
ID: LangID;
LangSize: Cardinal;
begin
 LangSize := SizeOf(Language);
 ID := GetUserDefaultLangID;
 VerLanguageName(ID, Language, LangSize);
 Result := (Language);
end;
 
//Computadora y usuario
function GetComputerUserName(CUN: ComputerUser): String;
var
csName: Array[0..230] of Char;
csSize: Cardinal;
begin
 csSize := Sizeof(csName);
 Case CUN of
  GUserName: GetUserName(csName, csSize);
  GComputerName: GetComputerName(csName, csSize);
  end;
 Result := (csName);
end;
 
//Fecha y hora del sistema
function SystemDateTime: String;
var
SysDateTime: TSystemTime;
begin
 GetLocalTime(SysDateTime);
 Result := DateTimeToStr(SystemTimeToDateTime(SysDateTime));
end;
 
//Mostramos resultados en pantalla
begin
Writeln(LINE + #10 + TEXT + #10 + LINE + #10);
 
Writeln(U + GetComputerUserName(GUserName));
Writeln(C + GetComputerUserName(GComputerName )+ #10);
 
Writeln(W + GetDirectory(WindowsDir));
Writeln(S + GetDirectory(SystemDir));
Writeln(T + GetDirectory(TempDir));
Writeln(P + GetProgramFilesDir + #10);
 
Writeln(DT+SystemDateTime);
Writeln(SYSLANG+GetUserLanguage);
 
Readln;
end.

saludos...


« Última modificación: 8 Octubre 2010, 20:43 por Littlehorse » En línea

Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: [Delphi] Source Utils GetPCDir
« Respuesta #1 en: 8 Octubre 2010, 21:20 »

Buen aporte VillanoSam, tal vez te interese la función de la API de Windows SHGetFolderPath, con ella puedes obtener muchas más carpetas especiales del sistema.

Saludos.


En línea

el-viejo


Desconectado Desconectado

Mensajes: 1.257



Ver Perfil WWW
Re: [Delphi] Source Utils GetPCDir
« Respuesta #2 en: 8 Octubre 2010, 21:33 »

Buen aporte VillanoSam, tal vez te interese la función de la API de Windows SHGetFolderPath, con ella puedes obtener muchas más carpetas especiales del sistema.

Saludos.

Si gracias, de echo hace mucho que este code esta escrito, solo la captura es nueva.

------------------

por cierto VillanoSam y Dominicano son los mismo.

por ejemplo.
http://foro.elhacker.net/programacion_general/manuales_y_libros_de_delphi-t212733.0.html

saludos...
« Última modificación: 31 Marzo 2011, 17:05 por VillanoSam » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines