自身をコピーするには

解決


satoshi  2005-05-13 03:53:28  No: 57375

よくウィルスで見かけるのですが、インストラーを使わず、自分で作成したアプリケーションを実行したときに自身の実行ファイルをとあるフォルダにコピーするにはどのようにしたらよいのでしょうか?


あああ  2005-05-13 04:25:00  No: 57376

自分で作成したアプリケーションを実行したときに自身の実行ファイルをとあるフォルダにコピーする
という処理を書く。


satoshi  2005-05-13 04:28:12  No: 57377

その処理をする関数を教えていただけませんか?


シャノン  2005-05-13 04:47:14  No: 57378

実行中のファイルへの書き込みや削除は無理ですが、コピーなら普通にできませんか?


satoshi  2005-05-13 04:59:43  No: 57379

アプリを実行した時には当然実行中になるわけですが、それ自身のコピーは普通にできるのでしょうか?
恐れ入りますが、その関数をお教え願いますか?


YuO  2005-05-13 07:01:49  No: 57380

実行中のファイルであっても,読み込みは可能です。
# それぐらい,試せばわかると思いますが……。

コピーをするなら,
CopyFile
とか,
CopyFileEx
とか,
SHFileOperation
とか,
CreateFile + ReadFile + WriteFile + CloseHandle
とか,
CreateFile + CreateFileMapping + MapViewOfFile + UnmapViewOfFile + CloseHandle
とか,方法は色々ありますが。
# 自分でやると,属性のコピーとかが面倒ですが……。


satoshi  2005-05-13 07:34:55  No: 57381

ご回答ありがとうございます。例えばCopyFileを使う場合、コピー元情報が必要ですが、自身が実行しているアプリケーションの場所の絶対パスを取得する方法はありますでしょうか?


RAPT  2005-05-13 08:36:49  No: 57382

GetModuleFileName とか
GetModuleFileNameEx とか。

って、適当にアタリをつけてMSDNで検索してみれば?


satoshi  2005-05-15 01:18:57  No: 57383

できました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加