1

Delphi7プログラムを新しい場所に保存するにはどうすればよいですか。たとえば、プログラムはフラッシュスティックに保存され、実行すると、c:\ user \(ユーザー名)に保存されます。

上記は元の質問です。

これは私が使ってみたコードです。プログラムは完全に動作しますが、保存するはずのフォルダを確認しても表示されません。

 procedure TForm5.FormActivate(Sender: TObject);
  var source, dest : string;
 begin
  Source := 'project1.exe';
  Dest := 'C:\Users\Craig\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup';
  CopyFile(PChar(Source), PChar(Dest), False);
 end;

ご協力いただきありがとうございます。

4

2 に答える 2

3

Application.ExeNameから実行可能ファイル名を読み取ります。次に、CopyFileを呼び出してコピーを実行します。

Source := Application.ExeName;
Dest := ...;
CopyFile(PChar(Source), PChar(Dest), False);

アップデートについて:

  1. 宛先はファイルである必要があります。フォルダを指定するパスにファイルをコピーしようとしています。
  2. エラーをチェックしませんでした。のようなAPI関数を呼び出すときはCopyFile、戻り値を確認する必要があります。

あなたはこのようなものが欲しいです:

Source := 'project1.exe';
Dest := 'C:\Users\...\Startup\project1.exe';
if not CopyFile(PChar(Source), PChar(Dest), False) then
  RaiseLastOSError;
于 2012-11-25T07:48:46.310 に答える
0

これを試して:

CopyFile(PChar(C:\OldFile.exe), PChar(C:\NewFile.exe), true);
于 2012-11-25T07:57:23.967 に答える