メモリマップトファイル HWND

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Cユーザー

メモリマップトファイル HWND

#1

投稿記事 by Cユーザー » 13年前

共有メモリにポインターが使えないとの
ことですが

HWNDも使えないと考えてよいのでしょうか?

用途としてはプロセスAのHWNDも共有メモリでもっておいて
プロセスBの指示があれば、そのHWNDを使って処理する

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メモリマップトファイル HWND

#2

投稿記事 by softya(ソフト屋) » 13年前

使えないと思います。
偶然使えたとしても環境依存や将来的に使える保証はないので使うべきではありません。
一般的なファイルに変えても受け渡し可能なものに限定すべきです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

yukihiro

Re: メモリマップトファイル HWND

#3

投稿記事 by yukihiro » 13年前

ウィンドウハンドルはプロセス間にまたがって有効かという話であれば、
有効です。

ウィンドウを確実に識別する識別子はウィンドウハンドルしかなく、
もしそれがプロセス間で渡せなければ困ったことになりそうです。

公式文書は探し切れませんでしたが、経験的には問題ないです。
#MSDNフォーラムでの質問と一般ユーザーによる回答はありました。
http://social.msdn.microsoft.com/Forums ... 2bfb03afb0

実際、例えばWindowsのスクリーンセーバー設定画面。
プレビューが見れますが、このプレビューを表示するときは
スクリーンセーバーアプリに対してコマンドラインでプレビューウィンドウのウィンドウハンドルが渡されます。
スクリーンセーバー側はそれを受けてそのウィンドウに対してプレビューを表示するわけです。
ウィンドウハンドルがプロセスをまたいでも有効である保証がなければこんな仕様にはしないですよね。

#あくまでウィンドウハンドルに限った話です。
#その他のハンドルと呼ばれる類は一般に他プロセスと共有できないと思ったほうがいいと思います。

Cユーザー

Re: メモリマップトファイル HWND

#4

投稿記事 by Cユーザー » 13年前

ありがとうございました。
一度考えてみます

閉鎖

“C言語何でも質問掲示板” へ戻る