アプリ版:「スタンプのみでお礼する」機能のリリースについて

レジストリに、
 HKEY_CLASSES_ROOT
  Folder
   shell
    program1で処理
     command ・・・ データは、「C:\~\program1.exe "%1"」を指定
と登録する事で、Explorerの右クリック・コンテキストに「program1で処理」を追加し、

例えば、フォルダAAを右クリックし、「program1で処理」を選択すると、
C:\~\program1.exe AA がコマンドとして実行され、

実行されたprogram1.exeでは、フォルダAAを処理したいのですが、
AAが、program1.exeに既に割り当てられており、困っています。

AAを割り当てない、叉はprogram1.exeに割り当てられたAAを割り当てから外す事は出来るでしょうか?
program1.exeは、C#.NETで作成しています。

参考)最終的にやりたいことは、AA(フォルダ、またはファイル)の移動(move)ですが、moveによる削除の段階で「他のプロセスに割り当てられている」と怒られてしまいます。この「他のプロセス」と言うのが調べたところ、自分自身なのです。

A 回答 (1件)

タスクマネージャのプロセスタブでそのProgram1.exeは動作しているのではないですか


動いているようならプロセスを選択して『プロセスの終了』ボタンで終了させてから削除や移動をして見ましょう

Windowsを再起動した段階でも削除や移動はできないのでしょうか

ストリーム系のオブジェクトグローバルで持ったりしてCloseやDisposeをし忘れていませんか

この回答への補足

会社でアクセス不可になり補足が遅れましてすみません。
再度説明すると、Programの外で移動するのではなくProgramから移動しているので、Programが稼働中にProgramが割り当てていない状態になっていないと駄目なのですが、割り当てられてしまっているという事なのです。
Explorerのコンテキストメニュー選択で実行させるとそのファイルが割り当てられてしまうという事です。
ちなみにProgram1をSendtoに入れて「送る」をクリックして実行させると問題は発生しません。

補足日時:2008/01/13 12:17
    • good
    • 0
この回答へのお礼

最終的に採った方法を以下に記します。

AAがカレントフォルダになっていて、カレントフォルダは割り当てから外すことは出来ないので、KEYINシュミレートでBSコードを投げて、エクスプローラ上でカレントフォルダを上位フォルダに移すことで、プログラムからAAのMOVEができる様になりました。

お礼日時:2009/01/10 11:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!