我有一个用.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的不同版本外,在这里该做什么?
答案 0 :(得分:1)
您可以提供两种用于加载dll的静态类,一种用于 coredll.dll ,而另一种用于 winmm.dll 。取决于您的平台(可以在应用程序中提供),您只需要使用正确的类即可。
当您第一次尝试访问导出的函数时,将完成dll加载,因此此方法应有效。