elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [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 3,763 veces)
d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



Ver Perfil WWW
[Delphi] Source Utils GetPCDir
« en: 8 Octubre 2010, 20:35 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
  1. program GetPCInfo;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.  SysUtils, Windows, Registry, ShellApi;
  7.  
  8. Type
  9. //Directorios y nombres
  10. WinSysTemp = (WindowsDir, SystemDir, TempDir);
  11. ComputerUser = (GComputerName, GUserName);
  12.  
  13. Const
  14. //Nombres, tonterias pero util, LOL XD
  15. U = 'User name: ';
  16. C = 'Computer name: ';
  17. W = 'Windows: ';
  18. S = 'System: ';
  19. T = 'Temp folder: ';
  20. P = 'Program files: ';
  21. DT = 'System date time: ';
  22. SYSLANG = 'System language: ';
  23. TEXT = 'elhacker.net by Dominicano. (-_-) XD';
  24. LINE = '-----------------------------------------';
  25.  
  26. //Windows, system y carpeta temporal (Temp)
  27. function GetDirectory(DirWST: WinSysTemp): String;
  28. var
  29. Path: Array[0..MAX_PATH] of Char;
  30. SizePath: Cardinal;
  31. begin
  32. SizePath := sizeof(Path);
  33.  Case DirWST of
  34.   WindowsDir: GetWindowsDirectory(Path, SizePath);
  35.   SystemDir: GetSystemDirectory(Path, SizePath);
  36.   TempDir: GetTempPath(MAX_PATH, Path);
  37.   end;
  38.  Result := (Path);
  39. end;
  40.  
  41. //Archivos de programa
  42. //Si queremos obtener Archivos comunes, Usar CommonFilesDir
  43. function GetProgramFilesDir: String;
  44. var
  45. Regedit: TRegistry;
  46. begin
  47.  Regedit := TRegistry.Create;
  48.   try
  49.     RootKey := HKEY_LOCAL_MACHINE;
  50.     Regedit.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', false);
  51.     Result := Regedit.ReadString('ProgramFilesDir');
  52.   Regedit.CloseKey;
  53.   finally
  54.  Regedit.Free;
  55. end;
  56. end;
  57.  
  58. //Idioma del systema
  59. function GetUserLanguage: String;
  60. var
  61. Language: Array[0..150] of Char;
  62. ID: LangID;
  63. LangSize: Cardinal;
  64. begin
  65.  LangSize := SizeOf(Language);
  66.  ID := GetUserDefaultLangID;
  67.  VerLanguageName(ID, Language, LangSize);
  68.  Result := (Language);
  69. end;
  70.  
  71. //Computadora y usuario
  72. function GetComputerUserName(CUN: ComputerUser): String;
  73. var
  74. csName: Array[0..230] of Char;
  75. csSize: Cardinal;
  76. begin
  77.  csSize := Sizeof(csName);
  78.  Case CUN of
  79.   GUserName: GetUserName(csName, csSize);
  80.   GComputerName: GetComputerName(csName, csSize);
  81.   end;
  82.  Result := (csName);
  83. end;
  84.  
  85. //Fecha y hora del sistema
  86. function SystemDateTime: String;
  87. var
  88. SysDateTime: TSystemTime;
  89. begin
  90.  GetLocalTime(SysDateTime);
  91.  Result := DateTimeToStr(SystemTimeToDateTime(SysDateTime));
  92. end;
  93.  
  94. //Mostramos resultados en pantalla
  95. begin
  96. Writeln(LINE + #10 + TEXT + #10 + LINE + #10);
  97.  
  98. Writeln(U + GetComputerUserName(GUserName));
  99. Writeln(C + GetComputerUserName(GComputerName )+ #10);
  100.  
  101. Writeln(W + GetDirectory(WindowsDir));
  102. Writeln(S + GetDirectory(SystemDir));
  103. Writeln(T + GetDirectory(TempDir));
  104. Writeln(P + GetProgramFilesDir + #10);
  105.  
  106. Writeln(DT+SystemDateTime);
  107. Writeln(SYSLANG+GetUserLanguage);
  108.  
  109. Readln;
  110. end.

saludos...


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

Max 400; caracteres restantes: 366
Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


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

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

d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



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

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 pm por VillanoSam » En línea

Max 400; caracteres restantes: 366
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pack Source Code of RAT in Delphi « 1 2 »
Análisis y Diseño de Malware
d(-_-)b 10 12,571 Último mensaje 14 Octubre 2010, 19:26 pm
por fary
Pack Source Code of Crypters in Delphi
Análisis y Diseño de Malware
d(-_-)b 2 3,993 Último mensaje 26 Noviembre 2010, 13:19 pm
por NINGUNA1212
Pack Source Code of Binders in Delphi
Análisis y Diseño de Malware
d(-_-)b 0 2,416 Último mensaje 13 Octubre 2010, 14:15 pm
por d(-_-)b
cuándo y por qué utilizar bridge-utils ??
Wireless en Linux
ameise_1987 4 3,731 Último mensaje 27 Agosto 2013, 23:00 pm
por ameise_1987
Aplicacion teórica Java.utils.regex??
Java
NikNitro! 8 4,089 Último mensaje 20 Diciembre 2013, 01:00 am
por ThinkByYourself
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines