0

ボタンを作成しました。ボタンのイベント ハンドラーで、フォルダー (abc) 内のすべてのファイルを削除します。

このコードは次のとおりです。

    private void button1_Click_1(object sender, EventArgs e)
    {
        MessageBox.Show("Are you sure!!!! The files in the folder will be deleted permanently");
        this.Close();
        string[] filePaths = Directory.GetFiles(@"C:\abc\");
        foreach (string filePath in filePaths)
            File.Delete(filePath);
    }

たとえば、フォルダーに Word ファイルがあり、それを開くとエラー メッセージが表示されます。

別のプロセスで使用されているため、プロセスはファイル 'C:\abc\New Microsoft Word Document.docx' にアクセスできません。

4

1 に答える 1

1

クラスを使用Processしてそのプロセスを見つけ、そのプログラムを強制的に閉じてからそのファイルを削除できます。このようなもの...

Process [] proc Process.GetProcessesByName("winword");
proc[0].Kill();

ただし、ウィンドウも開いているファイルを削除しないため、これはお勧めしません。

于 2013-10-06T04:05:37.087 に答える