HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0709
junnmsiのAfterburnerの様な表示方法2解決


junn

リンク

2012/7/9(Mon) 12:36:42|NO.47561

適切な言葉を知らず、曖昧な表現になってしまい、分かり難いとおもいますが、ご了承下さい。

題名にも書きましたMSIのAfterburnerにはOn-ScreenDisplayServerという機能があり、
(おそらく)DirectXの描画画面上にFPSやGPU温度等の各種情報の表示を実現しています。

今回、お聞きしたいのはこの様なアクティブな画面上に文字情報を重ねて表示する事がHSPで
手軽に出来るDll等が存在するのか、または、同様の機能を実現するために適切な検索ワードとは
何かと言うことです。

私の知識では枠なし透過処理をしたウインドウを最前列に表示し続けて、マウス操作なりで
アクティブにされたら背景のウインドウに処理を渡しつつ、自身を最前列に表示させるという
スマートでない方法しか思いつきませんでした。

上記、AfterbunerではDirectXであろう描画画面のみではありますが、今回実現したい動作なのと、
DirectXの画面のみという事から、キーフックのようなDirectXの描画の最後にフックを掛けて
表示直前のバッファに追加で書き込みが出来る方法があるのかなと思い、質問してみたのです。

基礎的な事も判っていないので適切な検索ワードでも構いません、何か情報があれば教えて頂ければ幸いです。



この記事に返信する


check

リンク

2012/7/9(Mon) 14:53:18|NO.47562

MSIもAfterburnerも知らないが、
>DirectXであろう表示直前のバッファに追加で書き込みが出来る方法
はないと思うぞ。
あくまで表示後の画面に上書きしているだけだと思う。
バックバッファをハックして書き換えられたら、
アプリケーション開発者としてはたまったもんじゃないな。

FindWindowでウィンドウハンドルを取得し、GetDCでデバイスコンテキストを取得し、
適当なWindows GDI関数でも使って描画しているのではないかと。



junn

リンク

2012/7/10(Tue) 22:38:49|NO.47598

res有り難うございます
無知ゆえの突飛な発想ですかねw
HSP自体も2.5より当分使っていなかったので、かなり変わっているのに驚きながら
色々検索してみた所、当初考えていた物とは全く違う方法で目的の物が出来そうだという事が
わかりました。

http://blog.goo.ne.jp/hiro239415/e/6860f82ef2939e3e14268e96e0479edc
こちらのサンプルソースを参考に最前面に置く事で取り敢えず、今回の目的は実現できそうなので
この方法で作成した後に改めて勉強してみようと思います

有難う御座いました



ONION software Copyright 1997-2021(c) All rights reserved.