Die Windows Template Library (WTL) ist eine objektorientierte C++-Programmbibliothek für die Windows-API. Entwickelt wurde sie von dem Microsoft-Angestellten Nenad Stefanovic als schlanke Alternative zu den Microsoft Foundation Classes, die sehr umfangreich sind. Ursprünglich war die Entwicklung nur für firmeninterne Zwecke gedacht, später jedoch wurde sie auch der Öffentlichkeit als inoffizielle Erweiterung zu dem Visual-Studio-Paket zur Verfügung gestellt. Die WTL basiert auf der ebenfalls von Microsoft stammenden Active-Template-Library-Bibliothek. Da es keine offizielle Dokumentation zu dem Projekt gibt, wurde auf einer externen Website[1] der Versuch einer inoffiziellen Dokumentation unternommen.
Die WTL bietet Unterstützung für eine Vielzahl von GUI-Elementen, MDI, Common Controls und viele GDI-Objekte. Das Hauptaugenmerk bei der Entwicklung lag auf schnellem und effizientem Code, der dem Programmierer eine Schnittstelle bietet, die leichter zu handhaben ist als der direkte Zugriff auf die Win32-API. Aus diesem Grund ähneln die meisten Funktionsaufrufe der WTL denen der ursprünglichen API, so dass keine große Umstellung bei der Benutzung nötig ist.
Die erste öffentliche Version der WTL wurde unter einer Lizenz veröffentlicht, die der der MFC sehr ähnlich ist, enthielt aber keine Nutzungs- oder Verbreitungsbeschränkungen. Microsoft veröffentlichte 2004 den kompletten Quelltext unter der Common Public License. Das Projekt ist heute bei sourceforge.net zu finden.[2] Ab der Version 7.5 steht den Benutzern eine weitere Lizenz zur Auswahl, die Microsoft Permissive License, heute bekannt als Shared Source.