Tu comunidad de Seguridad Informatica

Para ver Todo el contenido del foro es necesario estar Registrado!
Antes de comentar o Aportar es Obligado Leer Las: Reglas | Rules
Ya Esta Disponible al publico "LeProject" el Videojuego del Foro Click Aquí Para Ver el Post.
Pitbull Security Labs "Extras" Esta Disponible! [ENTRA]

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

avatar
Administrador
Administrador

Ver perfil de usuario http://www.pitbullsecurity.org
el Dom Oct 31, 2010 9:30 pm


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 = 'indetectables.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.


___________________
Admin: Pitbull Security Labs , Colaborador: Indetectables , Moderador: Level-23

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.