有時候遇到一些初學者問我這個問題:在VS中使用MFC和ATL與使用WIN32有什么聯系或區別?通俗來說,win32是通過調用windows api去實現需要的功能。而MFC和ATL是封裝好的類庫,包含windows API和一些算法,提供給用戶去使用。每一種類庫代表了一種編程思想。打個很簡單的例子,如果你喜歡自己維修東西,可以自己去商店掏錘子、螺絲刀、電工刀、鉗子等等,也可以去買一個博世工具箱,里邊各種工具一應俱全。自己淘貨相當於使用win32調用windows api。買的工具箱相當於封裝好的庫(如MFC或者WTL、ATL等)。自己掏需要很好的技術和經驗,雖然費時費力但可以根據你的需求去定制。而買工具箱基本上一應俱全,方便快捷,但有特殊需求時,可能找不到需要的工具。在實際開發中,如果只是做一些很小的demo去測試,如算法或者其他與界面關系不太大的東西,可以直接使用win32,否則就使用MFC或者ATL,當然除了這兩個還有其他很多類庫,根據實際需要而使用不同的類庫就行,沒有絕對的優劣之分。