Dll导入Compact Framework和Full Framework之间的区别

问题描述 投票:1回答:1

我有一个用.NET Compact Framework 3.5编写的应用程序,用于Windows CE。

该应用程序在任何完整的框架Windows操作系统上运行良好。

我想将音量控制添加到我的应用程序中,所需的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的不同版本之外,该怎么做?

c# audio compact-framework windows-ce dllimport
1个回答
1
投票

您可以提供两个静态类来加载dll,一个用于coredll.dll,另一个用于winmm.dll。根据您的平台(您可以在应用程序中提供),您只需使用正确的类。

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

© www.soinside.com 2019 - 2024. All rights reserved.