プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

WindowsVista以降において権限周りが厳しくなったことで、UIPIにより別プロセスのウィンドウへのPostMessage等がブロックされるケースが出て難儀しています。
対応策を調べたところ、自アプリが昇格しないで通信する方法と、昇格する方法があるようですが、
昇格しない場合はインストール先が制限されること、最初から昇格していては不要な場合までも高い権限レベルで起動してしまうことから、アプリ実行中に必要な場合だけ昇格する方向を模索しています。
通信周りをCOM化すれば通信可能らしい、というところまでは調べたのですが、必要な場合かどうかの判定をどうすれば良いかが分かっていません。
VC++で通信相手のウィンドウハンドルを取得したところから、そのウィンドウを持つプロセスの権限情報を取得可能でしょうか?
また、自アプリの現在の権限レベルを確認する手段はあるでしょうか?

以上です。宜しくお願いします。

A 回答 (1件)

http://msdn.microsoft.com/ja-jp/windows/dd871146 …
のページに書かれている整合性レベル ( Integrity Level : IL ) のことですよね。

↓のページが参考になると思います。
http://msdn.microsoft.com/en-us/library/bb625966 …

ウィンドウハンドルからプロセスハンドルを取得するには、GetProcessId と OpenProcess を使用すれば良いと思います。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
参考ページを見ながら試してみたいと思います。

お礼日時:2011/07/18 12:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!