相当于Win32的________在.NET中

时间:2010-10-14 00:12:25

标签: .net winapi

我最近需要找到与ShellExecute等效的.NET,我很高兴能够在StackOverflow上快速找到答案。但肯定有一些文件或列表可以让我更快地给出这个答案。

当我从ANSI编程转到UNICODE时,微软有了这个常规映射的方便页面:

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

我将其中的一些放入文本文件中,当我需要知道strlen的Unicode等价物时,我只是为strlen grep文件而我得到:

C:\> grep strlen textfuncs.txt

strlen    _tcsclen
strlen    _tsclen

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

6 个答案:

答案 0 :(得分:6)

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

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

通常情况下,快速搜索“目标”而不是函数会很快找到合适的API。

答案 1 :(得分:3)

由于.net API是一个完整的对象库。从win32到.net的一对一映射很难。但在大多数情况下,快速谷歌搜索将能够让你到正确的课程。

答案 2 :(得分:2)

你不是在寻找这样的东西:

Microsoft Win32 to Microsoft .NET Framework API Map

答案 3 :(得分:1)

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

有很多Win32函数,相关文档和示例代码。

答案 4 :(得分:1)

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

  

PInvoke.net: the interop wiki

有可用的“替代托管API”条目,但由于Win32 API的细粒度特性,托管API中可能没有等效项。托管API中的单个方法可能需要在多个库中多次调用Win32才能完成单个任务。

当托管语言/ API未提供该级别的粒度时,询问确切的等价物就像询问汇编语言指令的托管等价物是什么。

答案 5 :(得分:0)

我偶然发现了这个页面,它可以很好地提供我想要的内容:

C# for MFC Programmers - Quick Equivalents Map