用C#开发WINDOWS程序要不要学API,或者MFC,我WIN32学过的API能用吗

2024-12-24 16:51:25
推荐回答(2个)
回答1:

MFC没有必要学了,API则应该多少知道一些,举个例子吧,比如说您想在一个程序中控制光驱门的开合,就只有调用Win32API mciSendString()才行。有一些功能(尤其是涉及硬件和网络底层协议的部分)C#支持的不是很好。

至于在程序中调用API函数的方法,一般只需要在程序开始添加
using System.Runtime.InteropServices;
一句,然后再使用
[DllImport("winmm.dll")]
private static extern long mciSendString(string a,string b,uint c,IntPtr d);
给要调用的API做个声明就可以了,具体的例子可以参考MSDN。
http://www.microsoft.com/china/msdn/developercenter/VCSharp/default.mspx
搜索“DllImport”就可以了。

回答2:

不学也可。学了更好。
vista我不知道,不过如果你用win2003以下(含),知道些api,可以应付有些dotnet不提供的部分。
你学过的win32 api经过wrap以后都可以调用。如何调用你可以看下P/INVOKE方面的资料。