DllImport Compact Framework和Full Framework之间的区别

时间:2018-09-04 14:25:11

标签: c# audio compact-framework windows-ce dllimport

我有一个用.NET Compact Framework 3.5编写的应用程序,可以在Windows CE上使用。

该应用程序还可以在任何完整框架的Windows OS上完美运行。

我想在应用程序中添加音量控制,对于完整的框架操作系统,所需的DllImport如下所示:

[DllImport("winmm.dll")]  
public static extern long waveOutSetVolume(UInt32 device, UInt32 Volume);  

对于紧凑型框架,它是:

[DllImport("coredll.dll", SetLastError=true)]
public static extern long waveOutSetVolume(UInt32 device, UInt32 Volume);  

两者之间唯一真正的区别是DllImport所需的DLL名称。

Windows CE需要coredll.dll,而完整Windows需要winmm.dll吗?

除了创建.exe的不同版本外,在这里该做什么?

1 个答案:

答案 0 :(得分:1)

您可以提供两种用于加载dll的静态类,一种用于 coredll.dll ,而另一种用于 winmm.dll 。取决于您的平台(可以在应用程序中提供),您只需要使用正确的类即可。

当您第一次尝试访问导出的函数时,将完成dll加载,因此此方法应有效。