代码之家  ›  专栏  ›  技术社区  ›  Jeff Roe

相当于.NET中的Win32

  •  3
  • Jeff Roe  · 技术社区  · 14 年前

    我最近需要找到与ShellExecute等价的.NET,并且我很高兴能够在StackOverflow快速找到答案。但肯定有文件或清单在某处,会给我这个答案,只是快一点。

    当我从ANSI编程到UNICODE时,Microsoft有一个方便的例程映射页面:

    http://msdn.microsoft.com/en-us/library/Aa272889

    我把其中的一部分放进一个文本文件中,当我需要知道,比如说,与strlen等价的Unicode时,我只需要为strlen把文件grep一下,我就会得到:

    C:\> grep strlen textfuncs.txt
    
    strlen    _tcsclen
    strlen    _tsclen
    

    是否有人拥有或知道Win32->.NET的类似列表?

    6 回复  |  直到 14 年前
        1
  •  2
  •   steinar Justin CI    14 年前
        2
  •  6
  •   Reed Copsey    14 年前

    这里的部分问题是Win32没有直接迁移到.NET。

    .NET Framework处理大多数Win32 API功能,但它的处理方式截然不同。它不只是尝试映射函数,而是将功能映射到框架类型。有时,这是一个非常直接的映射,但有时,许多不同的api混合在一起,部分被重写为托管代码等。

    通常,快速搜索“目标”而不是函数会很快找到正确的API。

        3
  •  3
  •   rerun    14 年前

    因为.net API是一个成熟的对象库。很难从win32到.net进行一对一的映射。但在大多数情况下,快速的谷歌搜索将能够让你到正确的类。

        4
  •  1
  •   chakrit Dutchie432    14 年前

    不完全是1-1映射,但您可以在.NET中找到与使用Win32调用相关的大多数内容,网址是: http://www.pinvoke.net .

        5
  •  1
  •   erlando    14 年前

    此站点非常适合.NET到Win32互操作:

    PInvoke.net: the interop wiki

    在可用的地方有“可选托管API”条目,但是由于win32api的细粒度特性,托管API中可能没有等效的条目。托管API中的单个方法可能需要跨多个库多次调用Win32来实现单个任务。

    要求精确的等价物就像在托管语言/API不提供这种粒度级别时,询问汇编语言指令的托管等价物是什么。

        6
  •  0
  •   Jeff Roe    13 年前

    我无意中发现了这一页,它提供了我想要的东西:

    C# for MFC Programmers - Quick Equivalents Map