2016-07-27 227 views
1

Webを検索しても十分な回答が見つからない場合再度質問する必要があります。 Windows 10用のGDIオブジェクトの最大量を増やす方法はありますか?Windows 10のGDIオブジェクトの最大量を増やす方法は?

私が使用しているアプリケーションはVB6で書かれており、コントロールからのリークが可能です。多くの子ウィンドウを使ってアプリケーション全体にデータを表示します。

編集: アプリケーション自体は、非常に大きなユーザーコントロールを複数作成するように設計されています。各コントロールには、大幅に変更されたサードパーティグリッド、ツールバー、およびWindowsフォームが含まれています。フォーム自体は、グリッド、ツールバー、フォームなどさまざまなユーザーコントロールを開くことができます。したがって、多数のハンドルが作成されます。私たちは常に漏れを見つけて直ちに解決しますが、残念ながらすべてがリークではなく、アプリケーション設計の副作用です(これは私の前に作られたものです)。

私は[HKEY_LOCAL_MACHINE \ソフトウェア\マイクロソフト\ Windowsの NT \ CurrentVersionの\ WINDOWS \ GDIProcessHandleQuota]

[HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432NODE \マイクロソフト

下のレジストリ値を増やすことから、いくつかのことを試してみました\ Windows NT \ CurrentVersion \ Windows \ GDIProcessHandleQuota]

デスクトップヒープを増やすには何も効果がありません。再起動しても、制限はまだ10000ハンドルです。

値を下げても10000ハンドルの制限に影響しないため、値が上書きされるような静的な値がウィンドウやレジストリに隠されているようです。

ありがとうございます!

+0

[これは参考になるかもしれません](http://stackoverflow.com/questions/9723470/whats-the-upper-limit-on-gdi-objects-for-one-process-in-windows-7)あなたのコードを投稿することもできますか?あまりにも多くを作成している場合、ハンドルを制限する方法があるかもしれません。 –

+0

返事をありがとう。私はすでにその記事を見つけました。私はそこに掲載されたリンクも読んだが、それは役に立たなかった。レジストリを変更すると、Windows 8.1が動作します。 Windows 10のみが問題を引き起こします。なぜなら、上記のように、他のWindowsバージョンのように変更された値を受け入れていないように思えるからです。影響を受けるコードを投稿することは、アプリケーション全体が影響を受けるため問題ですが、質問の中でアプリケーションの詳細な説明を追加します。 –

+0

少し読んだところで、デスクトップヒープへの参照が見つかりました。 [このソリューションをテストする](https://social.msdn.microsoft.com/Forums/sqlserver/en-US/c4fd65cc-2b87-4478-9997-828071220fcd/windows-10-gdi-objects-limit?forum=windowscompatibility )そしてそれは[このkbページ](https://support.microsoft.com/en-us/kb/184802)につながっています –

答えて

0

このレジストリ設定を有効にするには、Windows 10を再起動する必要があります。また、x64にはレジストリに2つのGDIProcessHandleQuota値があることにも注意してください。

関連する問題