掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カレントのプロセス以外の情報取得の疑問 (ID:66926)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
前回「タスクバーのアイコンの列挙方法は?」を質問したものです。 http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200711/07110886.txt この質問のサンプルソースから素朴な疑問があります。 それはカレントのプロセス以外でツールバーなどの情報を取得するときは なぜローカル変数(構造体)ではなく、取得しようとしている他のプロセス上に メモリ領域を VirtualAllocEx で確保してその領域に対して SendMessage を 行わないといけないのでしょうか? 前回のタスクバーの列挙方法で調べたときに VB、C のサンプルを見つけて VB のカテゴリ(同サイト掲示板)でローカル変数では取得できないようなことが 書かれていました。 > 前レスにも書いたようにそのままTB_GETRECTやTB_GETBUTTONを行っても > 別プロセスで確保されたメモリにはアクセスできないようです。 http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200512/05120034.txt また ReadProcessMemory、WriteProcessMemory 関数を MSDN で調べたら 「デバッグ」の関数のカテゴリにありました。 この関数は「デバッガ」を作るときに使われそうな関数な気がしますが、 普通に使っても問題ないのでしょうか? この質問はカレントのプロセス意外はなぜ VirtualAllocEx で確保した メモリ領域を使わなければいけないのか? という疑問です。 Windows OS の内部に詳しい人がおりましたら教えて下さい。 (プロセス間通信とか関係ありますか?)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.