よくウィルスで見かけるのですが、インストラーを使わず、自分で作成したアプリケーションを実行したときに自身の実行ファイルをとあるフォルダにコピーするにはどのようにしたらよいのでしょうか?
自分で作成したアプリケーションを実行したときに自身の実行ファイルをとあるフォルダにコピーする
という処理を書く。
その処理をする関数を教えていただけませんか?
実行中のファイルへの書き込みや削除は無理ですが、コピーなら普通にできませんか?
アプリを実行した時には当然実行中になるわけですが、それ自身のコピーは普通にできるのでしょうか?
恐れ入りますが、その関数をお教え願いますか?
実行中のファイルであっても,読み込みは可能です。
# それぐらい,試せばわかると思いますが……。
コピーをするなら,
CopyFile
とか,
CopyFileEx
とか,
SHFileOperation
とか,
CreateFile + ReadFile + WriteFile + CloseHandle
とか,
CreateFile + CreateFileMapping + MapViewOfFile + UnmapViewOfFile + CloseHandle
とか,方法は色々ありますが。
# 自分でやると,属性のコピーとかが面倒ですが……。
ご回答ありがとうございます。例えばCopyFileを使う場合、コピー元情報が必要ですが、自身が実行しているアプリケーションの場所の絶対パスを取得する方法はありますでしょうか?
GetModuleFileName とか
GetModuleFileNameEx とか。
って、適当にアタリをつけてMSDNで検索してみれば?
できました。ありがとうございます。
ツイート | ![]() |