C# 根据系统32,64位加载不同DLL

777次阅读
2 条评论

共计 512 个字符,预计需要花费 2 分钟才能阅读完成。

当我们调用第三方dll时 一般会提供32位 64位两种dll来供不同系统使用

实现方法有很多种,下面写一个我觉得比较简单快捷的例子:
先将2个dll分别放到Debug目录下x64以及x86文件夹
目录结构如下:

|-- x64
    |-- demo.dll
|-- x86
    |-- demo.dll

在声明dll类初始化时通过LoadLibraryA注入dll

class TSCLIB_DLL
{
    static TSCLIB_DLL()
    {
        var dllFile = Environment.Is64BitProcess ? "\\x64\\TSCLIB.dll" : "\\x86\\TSCLIB.dll";
        LoadLibraryA(Environment.CurrentDirectory + dllFile);
    }

    [DllImport("kernel32")]
    private static extern IntPtr LoadLibraryA([MarshalAs(UnmanagedType.LPStr)] string fileName);

    [DllImport("TSCLIB.dll", EntryPoint = "about")]
    public static extern int about();
}

正文完
 0
flames
版权声明:本站原创文章,由 flames 于2024-01-03发表,共计512字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2 条评论)
亦朵智库 评论达人 LV.1
2024-08-13 15:09:31 回复

来了来了

 Windows  Chrome  中国浙江省宁波市联通
亦朵智库 评论达人 LV.1
2024-08-08 10:02:40 回复

每日一问

 Windows  Chrome  中国浙江省宁波市联通