6年前Win32APIプログラムでの質問です。ファイルをオープンする時、他のソフトがすでにそのファイルをオープンしている場合、警告のメッセージを出したいのですが、どうすれば良いのでしょうか?他のソフトが共有を許している場合も警告のメッセージを出したいのですが。簡単に言えば、ファイルがすでにオープンされているかどうかが分かればいいのですが。ocess-in-cファイルをを排他モードでオープンできるかどうかで検証する方法が紹介されています。チェックできそうです。ファイルがオープンされているかを調べる」で検索してみたところ[SDK32]既にファイルがオープンされているかの確認方法http://support.microsoft.com/kb/172240/jaというページがありました。6年前h2so5様、Tatu様、解答ありがとうございます。お二人のやり方を試したところ最初は成功しませんでした。掲載サイトを見ると間違いのない説明なので何で成功しないのか悩んでしまいました。考えてみたらファイルって普通オープンにしたままにしないのではないか!ということでした。試しにファイルをオープンにしたままのプログラムを作ったところ、お二人のやり方で成功しました。ファイルを使っているかどうか調べる手だてが無くなってしまいました。普通はファイルをオープンしていないということは使用していないことと同義だと思うのです。ないならば、「ファイルを使っている」という状態の定義を説明してください。具体的な使用状況は、テキストエディタでファイルを開いている時、そのファイルを別のソフトで加工できないようにしたいわけです。現状ではテキストエディタが開いて編集しているファイルを簡単に加工出来てしまいます。別のソフトというのは、大したことないのですが、タブをスペースに変えて、ブランクスペースも削除するというものです。このソフトを良くテキストエディタで編集しているファイルに対して実行してしまうので、警告を出したいわけです。「ファイルを使っている」というのは「テキストエディタで編集している」ということです。6年前その場合は逆に排他的にファイルをオープンできるテキストエディタを使うようにしたほうが良いと思います。一般的に「テキストエディタで編集している」かどうかは作業している人間にしか分かりません。6年前ファイルをオープンしたままにしないエディタを検出することは不可能だと思います。リソースを使っていないのでOSでも検出できません。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。6年前あえてやるなら、ウィンドウのタイトルを見ていって、対象のファイル名が含まれているかで判定、でしょうか?別ディレクトリのファイルなどの誤検知が起こりそうですが。あと、マクロが使えるエディタならマーキングテンポラリファイルを作るという手もあります。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。私の考えではファイルをオープンする時、まず0.txt(任意のファイル,0.TXTは一例です)を検出する。0.txtがないならファイルのフォルダに0.txtをつくります。0.txtがあるならすでにこのファイルが開いているを示します。ファイルを閉じる時、0.txtを削除すること。皆さま、解答ありがとうございます。様、お久しゅうございます。正副の2つのファイルを作るというのが分かりません。様の考えはエディタ側でそのファイルを作るということでしょうか。プログラムの作成ではなく文書作成に使っています。このエディタは編集中のファイルを監視していてファイルが変更されると「再読み込みしますか」とメッセージを出します。これはかなり安全な仕様ですが、それでも編集中のファイルをまだ保存してないときなどパニクってしまいます。ファイルを変更されても何のメッセージも出さないので困りものです。