zoukankan      html  css  js  c++  java
  • 关于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

  • 相关阅读:
    HTML超链接标签—链接QQ在线聊天
    超链接标签-QQ邮箱链接经验分享
    数据类型转换的事项和注释
    关键字、标识符、常量、变量的(定义)
    WendosiDOS命令的一些使用命令
    Map集合
    Set集合 HashSet集合 LInkHathSet集合
    增强for循环
    22_迭代器
    包装类
  • 原文地址:https://www.cnblogs.com/dadream/p/4089900.html
Copyright © 2011-2022 走看看