VC++2008にてプログラムを作成しています。
自作プログラム(疑似エクスプローラ)にて、
WordやExcelファイルをCreateProcessにて
オープンし、WaitForSingleObjectにて
ファイルが閉じられるまで待機。
ファイルが閉じられたら、終了処理という流れのシステムを
作成しています。
自作プログラムからオープンする際は、
Officeのコマンドラインオプションを用いて
別プロセスで起動するようにしていますので、
自作プログラムからWord(またはExcel)ファイルを
複数開いても、個別プロセスになるので、
各ファイルが個別に終了処理を行えるようになっています。
(なっていると思っていた)
問題は、自作プログラムからWord(a.doc)を開き、
エクスプローラから別ファイルのWord(b.doc)を開いた際、
b.docは個別にプロセスが作成されず、
a.docで作成した1プロセスにまとめられてしまうことです。
そのため、a.docを閉じても、b.docが開いている限り、
終了処理に移行しません。
APIフックにて、CreateProcessを引っ掛けてみたのですが、
エクスプローラからのファイルオープン時には
呼ばれていないようで、自作プログラム外で
ファイルオープンをした際に、強制的に独自プロセスで
起動する方法が分りません。
自作プログラム起動時に限り、Word,Excelのファイルを
独自プロセスで開かせたいのですが、
解決方法はありますでしょうか?
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
おそらく、自作プログラムでWORDを起動するのではなく、別の方法でDOCファイルの編集を行うようにしなければならないのではないでしょうか。
試してはいませんが、OLEコンテナを使用する(例えばEXCELのワークシートにDOCファイルを貼り付けてEXCELの中で編集するとか自作プログラムにOLEコンテナ機能を実装する)となんとかならないかなー、と思います。
それか、エクスプローラなどからDOCファイルを開く時に自作プログラムが起動したプロセスが使用されることは許しておいて、自作プログラムがWORDを起動する時に、マクロも同時に読み込ませるようにして、対象のファイルを閉じる時に自作プログラムにメッセージを送らせる、とかでしょうか。
この回答への補足
回答ありがとうございます。
質問の時に省いてしまいましたが、
終了処理とは別に、APIフックで、
個々のファイルを区別した上での処理を
行っているため、単に終了処理に移行すれば良いだけでなく
明確に1ファイル毎に区別出来なければ駄目なのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- その他(メールソフト・メールサービス) Thunderbird Wordの添付ファイルが開けない 1 2023/06/22 11:20
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Windows 7 Media Playerが開かない。ファイルアイコンを右クリックしても「プロパティ」が表示されない。 2 2023/02/05 14:45
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- その他(Microsoft Office) WordやExcelについての質問です。先日姉から授業で使うという理由でパソコンを借りました。そして 3 2022/06/20 15:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
バッチで118項目のCSVを処理し...
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
XMLファイルの表示について
-
fprintfで文字化け
-
Excelマクロでの再読込み方法
-
パワーポイントの画面表示が点...
-
処理負荷特定で考えられる要因...
-
グローバル変数のよくない使い...
-
ドラッグアンドドロップでファ...
-
SAVファイル等について
-
クリップボードから任意のファ...
-
VBAにてEXCEL以外のファイル(テ...
-
ShellExecuteEx→WaitForSingleO...
-
ファイル読み書き方法について...
-
VB.NETによるプロセス間通信
-
VC++でのiniファイルの読み書き
-
フローチャート (ファイル併合...
-
VB6でのファイル作成方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
ファイルを記録してあるセクタ...
-
テキストファイルの最終行を削...
-
SGファイルって何ですか?
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
fopenできる上限の変更
-
VBに、Cのincludeのようなもの...
-
グローバル変数のよくない使い...
-
ファイルの結合
-
大きいサイズのテキストファイ...
-
iniファイルに追記がしたいです。
-
バッチで118項目のCSVを処理し...
-
ハッシュの計算時間について
-
C言語のfopenについて教えてく...
-
Javascript で INI の読み書き
-
Excelマクロでの再読込み方法
おすすめ情報