共有メモリにポインターが使えないとの
ことですが
HWNDも使えないと考えてよいのでしょうか?
用途としてはプロセスAのHWNDも共有メモリでもっておいて
プロセスBの指示があれば、そのHWNDを使って処理する
メモリマップトファイル HWND
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メモリマップトファイル HWND
使えないと思います。
偶然使えたとしても環境依存や将来的に使える保証はないので使うべきではありません。
一般的なファイルに変えても受け渡し可能なものに限定すべきです。
偶然使えたとしても環境依存や将来的に使える保証はないので使うべきではありません。
一般的なファイルに変えても受け渡し可能なものに限定すべきです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
yukihiro
Re: メモリマップトファイル HWND
ウィンドウハンドルはプロセス間にまたがって有効かという話であれば、
有効です。
ウィンドウを確実に識別する識別子はウィンドウハンドルしかなく、
もしそれがプロセス間で渡せなければ困ったことになりそうです。
公式文書は探し切れませんでしたが、経験的には問題ないです。
#MSDNフォーラムでの質問と一般ユーザーによる回答はありました。
#http://social.msdn.microsoft.com/Forums ... 2bfb03afb0
実際、例えばWindowsのスクリーンセーバー設定画面。
プレビューが見れますが、このプレビューを表示するときは
スクリーンセーバーアプリに対してコマンドラインでプレビューウィンドウのウィンドウハンドルが渡されます。
スクリーンセーバー側はそれを受けてそのウィンドウに対してプレビューを表示するわけです。
ウィンドウハンドルがプロセスをまたいでも有効である保証がなければこんな仕様にはしないですよね。
#あくまでウィンドウハンドルに限った話です。
#その他のハンドルと呼ばれる類は一般に他プロセスと共有できないと思ったほうがいいと思います。
有効です。
ウィンドウを確実に識別する識別子はウィンドウハンドルしかなく、
もしそれがプロセス間で渡せなければ困ったことになりそうです。
公式文書は探し切れませんでしたが、経験的には問題ないです。
#MSDNフォーラムでの質問と一般ユーザーによる回答はありました。
#http://social.msdn.microsoft.com/Forums ... 2bfb03afb0
実際、例えばWindowsのスクリーンセーバー設定画面。
プレビューが見れますが、このプレビューを表示するときは
スクリーンセーバーアプリに対してコマンドラインでプレビューウィンドウのウィンドウハンドルが渡されます。
スクリーンセーバー側はそれを受けてそのウィンドウに対してプレビューを表示するわけです。
ウィンドウハンドルがプロセスをまたいでも有効である保証がなければこんな仕様にはしないですよね。
#あくまでウィンドウハンドルに限った話です。
#その他のハンドルと呼ばれる類は一般に他プロセスと共有できないと思ったほうがいいと思います。