掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ディレクトリのコピーにSHFileOperationを利用するとき (ID:55853)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
関数にして渡すところで問題があったみたいです。 グローバル変数で char From[64], To[64]; と宣言し、関数の引数からこれらを削除したところ、問題なく動作しました。 文字列変数の渡し方に問題があるんですかね・・・ ちなみに、main関数の引数で上記文字列を宣言し、 BOOL CopyDirectory(HWND hWnd, LPCTSTR From, LPCTSTR To) BOOL CopyDirectory(HWND hWnd, char* From, char* To) どちらで関数を作成しても、 lstrcpy(TSHFileOpStruct.pFrom, From); //対象元パス lstrcpy(TSHFileOpStruct.pTo, To); //対象先パス または TSHFileOpStruct.pFrom = From; TSHFileOpStruct.pTo = To; と行った上で MessageBox(NULL, TSHFileOpStruct.pFrom, TSHFileOpStruct.pTo, MB_OK); とすると、必要な値が登録されているにもかかわらず。 if(SHFileOperation(&TSHFileOpStruct) != 0) { return FALSE; } を行うと、最初にいった通りのエラーが出てきます。 考えるの面倒になっちゃったので、このままグローバルで宣言するか、クラス化しちゃうことにしました。 シャノンさん、ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.