none
別プロセスで使用しているといわれ、画像の改名ができない RRS feed

  • 質問

  • いつもお世話になっております。

    表題の件がどうしても解決できなかったのでまた質問させていただきます。

    申し訳ありませんが、よろしくお願いいたします。

    ■作成環境

    Visual Studio 2017 WPF、Cシャープ

    ■作成したい機能

    ・フォルダ内の画像を表示する画面

    ・画像を表示した状態で、ボタンを押すとフォルダごとエクスポートする。その際、画像の名前が変わる

    ■現状

    ・画像の名称をそのまま変更しようとする⇒当然のごとく失敗

    ・フォルダの画像をコピーして別名(画像A⇒画像B)にした後、画面に表示する画像を変更(画像Bを表示対象に変更)すれば、画像Aを削除できるかと思ったのですが、これも同じように失敗.(別のプロセスで使用されているため~)

    ■コード

    多すぎるため、最低限抜粋します。足りない点がありましたらご指摘ください。

    ●WPF
    <Image x:Name="image" />

    ●エクスポート処理内コード(Cシャープ)
    File.Copy(画像Aパス, 画像Bパス);
    ChangeImage(画像Bパス);
    File.Delete(画像Aパス);//ここでエラー
    //この後エクスポート処理

    ●関数ChangeImageコード(Cシャープ)

    最初の画像Aの画面表示もこの関数を利用。

    private void ChangeImage(string 画像パス) {
    BitmapImage bitmap = null;
    bitmap = new BitmapImage();
    bitmap.BeginInit();
    bitmap.UriSource = new Uri(画像パス);
    bitmap.EndInit();
    image.Source = m_bitmap;
    }

    以上です。よろしくお願いします。

    2017年8月30日 11:50

回答

すべての返信