Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。特定の文字列だけをデバイスコンテキストを使用して描画させています。これを実現するためにSetLayeredWindowAttributes()を使用しています。調べたところによると上記APIを使用した場合、非力なマシンだと処理が重くなる可能性があるとの情報があったので、より軽量で速度の早い方法が無いかを探しています。■質問内容SetLayeredWindowAttributes()を使用した背景色の透過処理以外でより軽量になる方法は無いでしょうか?※DirectXを使ったやり方の方が軽くなるなど、全く別のアプローチ掲示でも何でも構いません。■制約や補足Win32のDLLモジュールを作成し、そのDLLロードしたアプリケーション上でダイアログ用のスレッドを生成し、そのスレッド上でダイアログプロシージャを動作させています。(そのため、直接アプリケーション側のウィンドウプロシージャを使用できないので直接描画ができません)ダイアログ側は属性として「Layred(WS_EX_LAYERED)」を設定しています。個の銅バッジ「全く別のアプローチ掲示でも何でも構いません」とのことですが直接描画するもっとも効率がいいはずです。1:02元々ある古いアプリケーションに拡張機能を付与するサードパーティプラグインを開発しているため、直接アプリケーション側のウィンドウプロシージャが使用できない状態にあります。その制約化でできるだけ負荷のかからない軽量なプラグインを作りたいと考えています。2:26ウィンドウのサブクラス化は使えない環境でしょうか?直接元アプリケーションに介入するのが最も効率がいいと考えています。8:58ありがとうございます。対象ウィンドウハンドルを取得してサブクラス化を試してみます。後、SetWIndowsHookExでWM_PAINTをフックかけて見るアプローチをしてみようかと思っていました。この場合対象スレッドを絞るかしないと全スレッドのウィンドウプロシージャが処理対象になってしまうので躊躇(めんどくさい)していました。票2先日、頂いたアドバイスを元に試してみたところうまくいきました。下記に試した擬似コードを掲載します。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。