关于Windows® API Code Pack for Microsoft® .NET Framework
相比之前的操作系統,Window 7(or Vista)提供了很多新特性,我們在應用實現中可以利用這些特性來提升用戶體驗。
這些特性主要包括以下幾個方面:
- Shell Enhancements
- DirectX Technologies
- Application Restart and Recovery
- Extended Linguistics Services (ELS)?
- Sensor Platform
- Aero Glass?
這些原生Windows特性在托管應用程序中需要基于COM Interop技術實現,因此微軟開發了Windows API Code Pack提供必要的COM Interop代碼,用于補充.NET Framework功能集,為托管代碼提供針對原生Windows API的操作接口。
在最新版本的.NET Framework設計中,微軟在WPF中包含了部分之前在Windows API Code Pack中實現的功能(如Shell相關功能),對于剩余的其他部分則推薦基于原生C/C++語言調用,不再提供官方程序包為托管程序開發提供支持,并取消了Windows API Code Pack項目。
因此,現在我們打開官方鏈接會看到“The Archive Gallery has been retired.”提示,無法在下載到Windows API Code Pack的代碼。但是網上還可以找到第三方的1.1版的備份,如github(注3)。
在這里介紹Windows API Code Pack的前世今生(注2),原因是我需要在托管代碼中使用最新的DirectX開發三維的應用程序。
使用托管代碼開發三維程序(注1)使用的Wrapper有以下幾個選擇:
- Managed Direct3D(微軟官方)
- XNA(微軟官方)
- Windows API Code Pack(DirectX) (微軟官方)
- SlimDx(第三方)
- SharpDx(第三方)
這些選擇中,MDX已經被淘汰掉,XNA在游戲開發方面有一些優勢,但同時在新版本D3D支持上也有很多不足之處,而SlimDx和SharpDx為第三方提供的。
Windows API Code Pack(DirectX)相比以上其他選項的優勢主要在于以下幾個方面:
1/ 依賴項少,使用方便:只需在應用中引用一個1M左右大小的dll;
2/ 支持Dx11:封裝目標基于Windows 7,對于需要升級DirectX并利用新特性的應用特別有吸引力;
3/ 穩定、高效:微軟官方品質;
引用:
1/ 在.NET中使用DirectX
http://blogs.msdn.com/b/chuckw/archive/2010/12/09/directx-and-net.aspx
2/ windows api code pack v1_1
http://www.cnblogs.com/gnielee/archive/2010/12/29/windows-api-code-pack-v1_1.html
3/下載地址
https://github.com/dbarros/WindowsAPICodePack?or 使用nuget
轉載于:https://www.cnblogs.com/dadream/p/4089900.html
總結
以上是生活随笔為你收集整理的关于Windows® API Code Pack for Microsoft® .NET Framework的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【设计模式】命令模式
- 下一篇: 从服务器上的数据库备份到本地