リソース (Windows)
その他、マニフェストリソースと呼ばれるXML形式のリソースファイルもある。こちらはビジュアルスタイルの有効化、UACの権限昇格要求やDPIスケーリングなど、OSの機能に対するアプリケーションの振る舞いを宣言するために使われる。Microsoft Visual C++では、リンカーオプションでマニフェストリソースをアプリケーションバイナリに結合できるが、プロジェクトファイル(.vcxproj)によってマニフェスト項目を設定したり、C/C++のソースファイル中に#pragma commentディレクティブを使ってマニフェスト項目を記述したりすることもできる。
日本語や英語といった言語ごとにリソースを用意し、システムの言語設定に応じてUIをローカライズすることもできる。言語ごとのリソースのみを含むDLL(サテライトDLLまたはサテライトアセンブリ)を用意し、アプリケーションコードによって明示的に言語リソースを選択することもできる。
しばしば勘違いされるがシステムリソースはWindowsで導入されたものであり64KBの制限はパフォーマンスを考慮した設計上の理由であるためMS-DOSやその互換性による制限ではない。Windows 3.1では容量不足の問題を解決するためUSERが128KBに拡張され利用方法の工夫でより少ないシステムリソースを使用するように改善された。
32ビットOSであるWindows 9x系ではシステムリソースが32ビット化され、2つのUSERリソースと1つのGDIリソースがそれぞれ2MB、合計で6MBの容量となった。しかし32ビットのシステムリソースは32ビットWindowsアプリケーションでしか使えず、16ビットWindowsアプリケーションと一部のOSの機能は互換性の理由で容量の少ない16ビットのシステムリソースを使用するため、多くのメモリを搭載していたとしても依然としてリソース不足になることがことがあった。つまりWindows 9x系で問題となるリソース不足は16ビットのシステムリソース不足のことである。
Windows NT系のOSではシステムリソースは存在せず、同等の役目をするのはデスクトップヒープもしくはデスクトップアプリケーションヒープである。