![起動中にファイルを削除するコード](https://rvso.com/image/1419605/%E8%B5%B7%E5%8B%95%E4%B8%AD%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89.png)
私はウイルス対策を開発しています。感染ファイルをすでに検出した場合、システム起動中(黒い画面自体の間)に悪意のあるファイルを削除するようにスケジュールを設定する方法を知りたいです。画像のようなものです。
- Easeus は起動時にディスクのパーティション分割をスケジュールします:https://drive.google.com/file/d/0B2nL17gsPcdrM0Q0S29fWF81bXM/edit?usp=sharing
- 起動中にスケジュールされた別のファイル削除:https://drive.google.com/file/d/0B2nL17gsPcdrYldUN3BpcFB6NEU/edit?usp=sharing
答え1
ユーティリティを使用する場合、Sysinternals には 1 つ (実際には 2 つ) あります。 PendMoves v1.2 および MoveFile v1.01
説明より:
サービス パックや修正プログラムなど、使用中のファイルを置き換える必要があるアプリケーションがいくつかありますが、置き換えができません。そのため、Windows では、ファイルの名前を変更または削除するための MoveFileEx API が提供されており、呼び出し元は、次回のシステム起動時にファイルが参照される前に操作を実行するように指定できます。セッション マネージャーは、HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations 値から登録されている名前変更コマンドと削除コマンドを読み取ることで、このタスクを実行します。
この API 関数をコードに含める場合は、Microsoft の仕様を参照してください。 MoveFileEx関数