ファイルやフォルダのごみ箱への移動
- VB6.0SP5の開発環境で、SHFileOperationを使ってファイルをごみ箱に移動させる関数を作成したい。ごみ箱に移動させる際に表示されるダイアログでキャンセルが押された場合、別の処理を行いたいが、その方法が分からない。
- キャンセルが押された場合に別の処理を行うために、VB6.0SP5の開発環境でSHFileOperation関数を使用してファイルをごみ箱に移動する方法を調べているが、具体的な判断方法がわからない。
- VB6.0SP5とWindows MEの環境で、ファイルをごみ箱に移動させる関数を作成しているが、キャンセルが押された場合に別の処理を行う方法が分からない。
- ベストアンサー
ファイルやフォルダのごみ箱への移動
SHFileOperationを使って、ファイルをごみ箱に移動させる関数を作りたいと思っています。 しかし、何とかネットや本でのサンプルを見てごみ箱に移動させることは出来るようになったのですが、移動させるときのダイアログ(ごみ箱のアイコンがあって、「'(ファイル名)'を削除してもよろしいですか」と出てくるやつです)で、キャンセルが押された場合、別の処理をさせたいのですが、その判断をどうさせれば良いのでしょうか。 色々と調べてみたのですが分かりません。現在は普通のSubの関数ですが、Functionの戻り値がある関数に直してキャンセルが押されたかどうか判断させたいのです。 どうか、よろしくお願いします。 -------------------- 開発環境 VB6.0SP5 WinME
- ikazuti
- お礼率89% (659/739)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
戻り値は true か false の ようですが・・・。
関連するQ&A
- ファイルやフォルダのごみ箱への移動 2
ファイル(もしくはフォルダ)を一つ選択してごみ箱に捨てるとき、「いいえ」を押したら別の処理をさせようとしているのですが、作ってみた関数だと上手くいきません。 どういうわけか常に 0 が返ってきます。 --------------------------------- Public Function FileToDust(FName As String) As Long 'ファイルをごみ箱へ送る 'FName --- ファイル、フォルダ名を入れる文字列変数 Dim FOS As SHFILEOPSTRUCT With FOS .hWnd = 0 .wFunc = FO_DELETE .pFrom = FName .fFlags = FOF_ALLOWUNDO End With FileToDust = SHFileOperation(FOS) End Function --------------------------------------- どこが悪いんでしょうか。本来なら、処理が中断されれば 0 以外が返ってくるらしいのですが…… 0 が返ってきたとき成功したと思って前回の質問をすぐに打ち切ってしまったので、もう一度質問させていただきます。 前回の質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=466239 よろしくお願いします。 ---------------- 開発環境 VB6.0SP5 WinME
- ベストアンサー
- Visual Basic
- ファイルやフォルダをごみ箱へ移動
ASPの処理で、ファイルを削除する必要があるのですが、誤動作の保険のためにファイルを直接削除せず、一旦ごみ箱に移動させたいと思っています。 いろいろ検索したのですが、決定打が未だ見つかりません。 今までの調べでは、SHFILEOPSTRUCT構造体にオペレーションをセットして、SHFileOperation関数を呼び出すActiveX DLLを自作して、ASPから使用するしか方法がないようです。 FileSystemObject::MoveFile を使用して、\RECYCLED へ移動すれば良いかとも考えたのですが、質問:「GetFolder や GetFile でASPの処理がストップ」と同様の現象で処理が戻ってきません。 何かもっと手軽な方法をお知りの方がいましたら、教えてください。
- ベストアンサー
- Microsoft ASP
- ファイルやフォルダをごみ箱に移動 その2
直下の質問「ファイルやフォルダをごみ箱に移動」をさせていただいた者です。 「ファイルやフォルダをごみ箱に移動」を行うActiveX DLLを作成して、無事動作させることができました。が、新しい問題が発生してしまいました。 作成したルーチンは、以下の通りです。 ----- Public Sub GoToTrash(inStrItemNames As String, Optional inBlnConfirm As Boolean) Dim ShellOp As SHFILEOPSTRUCT Dim flg As Integer ' 確認メッセージの表示? If IsMissing(inBlnConfirm) Then inBlnConfirm = False If inBlnConfirm Then flg = FOF_ALLOWUNDO Else flg = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION End If With ShellOp .hwnd = 0 .wFunc = FO_DELETE .pFrom = inStrItemNames .fFlags = flg End With ' ごみ箱へ削除実行 SHFileOperation(ShellOp) End Sub ----- これをActiveX化して、ASPから呼び出すと、ちゃんと動作して、指定されたファイルはごみ箱に直行します。しかし、存在しないファイルなどが指定されると、たとえ、FOF_NOCONFIRMATIONを指定したとしても、確認のDialogBoxが表示されてしまうようです。(WSHで確認しました) こうなると、ASPではスクリプトエンジンが処理を中断してしまうようで、以降再起動しない限り、ASPページが全く表示されなくなってしまいます。 なにか良い手段は無いでしょうか?
- ベストアンサー
- Microsoft ASP
- SHFileOperationの戻り値
OS:Win95、VB 5.0 SP3でSHFileOperation を使用してファイルコピーを実行しているのですが上書き確認で「いいえ」を押した時やコピーの実行中ダイアログのキャンセルボタンを押した時の戻り値などご存知の方いましたら、どうか教えて下さい。 (「いいえ」ボタンやキャンセルボタンを押しても、0でしか帰ってきません。) いろんなサイトを見て回ったのですが、戻り値について詳しく書いてあるところがありませんでした。 どなたかお助け下さい。
- ベストアンサー
- Visual Basic
- 毎晩、不要ファイルを削除(ごみ箱へ移動)することできます?
タスクスケジューラを使って、複数ファイルをごみ箱へ移動(削除)したいです。 ごみ箱行きコマンド2つほど見つけて試してみましたが、確認ダイアログが現れてしまい、自動(バッチファイル)化できません。 VBScriptあたりでうまくできないでしょうか? ポケットリファレンス見ましたが、ごみ箱へ移動する方法わかりませんでした。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 自動的にファイルをゴミ箱へ移動する方法
宜しくお願いします。 windows2000を使ってますが、macからファイルを送ると必ずへんてこな不可視フォルダが出来てしまいます。それも、サブフォルダ内全てに。。よく分からない不可視フォルダで中を見ても何も入ってないんです。なんとなく嫌なので、毎回手動でゴミ箱に捨てています。いつも同じ名前なので、このフォルダがwin上に出来たら自動的にゴミ箱に移動する方法はないのでしょうか??
- 締切済み
- Windows NT・2000
- VBからBATファイルを起動して戻り値の取得方法
VBからBATファイルを起動して戻り値(エラーコード)を もらうにはどうすれば良いのでしょうか? WshShellという関数を使用することは、何となく分かるのですが 宜しければサンプルを教えていただけないでしょうか?
- ベストアンサー
- Visual Basic
- Windows 7のごみ箱について
ファイルを削除する場合、「このファイルを完全に削除しますか?」のダイアログメッセージが出力され、ごみ箱に一旦入れることによる削除が出来なくなりました。 ごみ箱のプロパティでは、「ごみ箱にファイルを移動しないで、削除と同時にファイルを消去する」には、チェックは入っていません。また、ごみ箱の容量も十分あります。 Windows 7 Pro. 64bit SP1です。 対策方法をご教示頂きたくお願いします。
- ベストアンサー
- Windows系OS
- ダウンロード完了時に出るファイル移動のダイアログ
Webで何かファイルをダウンロードや、知り合いとメッセンジャー等でファイルの転送をして、転送が終わった時に出る「ファイルを移動しています」というダイアログなのですが、これが急に出てきたりするのでチャットでエンターが重なってダイアログの「キャンセル」に適用されてダウンロードや転送が終わったファイルがキャンセルされてやり直すことになることが多々です。 質問としては、このダイアログだけ出さないようにする方法は無いでしょうか。もしくは、キャンセルされない方法。 転送は終わってる(と思う)のでPC内のどこかにあったりはしないのでしょうか? あわせてよろしくお願いします。
- ベストアンサー
- Windows XP
- Windows API を使ってファイルをごみ箱に入れるには?
Windows でファイルを削除するのに DeleteFile() を使うのではなく, ごみ箱へ移動させるにはどうしたらよいのでしょうか? Visual Studio 2003.NET のオンラインヘルプのあるページには, 「ごみ箱は Windows95 以降のシェルアプリケーションの機能」とあったので, "Shell Functions" のページを見たところ, SHEmptyRecycleBin() および SHQueryRecycleBin() しか記載されていません. この2つの API があるくらいなら,「ファイルをごみ箱に移動する」API も あってよさそうなものですが,ないのでしょうか. ShellAPI.h を "Recycle" で検索しても上記の2つの関数しか見つかりません. 他のヘッダファイルも "Recycle" で検索しましたが見つかりません.
- ベストアンサー
- C・C++・C#
お礼
ありがとうございます。ちゃんと戻り値があったんですね。 普通にFunction、Booleanにすれば上手くいきました。