91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#判斷DLL文件是32位還是64位的示例代碼怎么寫

發布時間:2021-12-20 19:04:41 來源:億速云 閱讀:242 作者:柒染 欄目:開發技術

C#判斷DLL文件是32位還是64位的示例代碼怎么寫,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

c#判斷dll文件是32位還是64位,實例代碼如下所示:

using System;
using System.IO;

namespace GetDllVersionDemo
{
/// <summary>
///     https://www.cnblogs.com/LifeDecidesHappiness/p/15711169.html
///     C#判斷DLL文件是32位還是64位
///     LDH @ 2021-12-20
/// </summary>
internal class Program
{
private static void Main()
{
Console.Title = "C#判斷DLL文件是32位還是64位";

GetDll32Or64();

            Console.ReadKey();
}

        private static void GetDll32Or64()
{
var dllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Dll\IBM.Data.Informix.dll");
var result = GetPeArchitecture(dllPath);
//523 64位    267 32位
if (result == 523)
Console.WriteLine(dllPath + "是【64】位的dll");
else if (result == 267)
Console.WriteLine(dllPath + "是【32】位的dll");
else
Console.WriteLine("執行錯誤!");
}

        /// <summary>
///     獲取dll文件是32位還是64位
///     523 64位    267 32位
/// </summary>
/// <param name="dllFilePath">dll文件路徑</param>
/// <returns></returns>
public static ushort GetPeArchitecture(string dllFilePath)
{
ushort architecture = 0;

            try
{
using (var fStream = new FileStream(dllFilePath, FileMode.Open, FileAccess.Read))
{
using (var bReader = new BinaryReader(fStream))
{
if (bReader.ReadUInt16() == 23117) //check the MZ signature
{
fStream.Seek(0x3A, SeekOrigin.Current); //seek to e_lfanew.
fStream.Seek(bReader.ReadUInt32(), SeekOrigin.Begin); //seek to the start of the NT header.
if (bReader.ReadUInt32() == 17744) //check the PE\0\0 signature.
{
fStream.Seek(20, SeekOrigin.Current); //seek past the file header,
architecture = bReader.ReadUInt16(); //read the magic number of the optional header.
}
}
}
}
}
catch
{
// ignored
}

            // if architecture returns 0, there has been an error.
return architecture;
}
}
}

C#判斷DLL文件是32位還是64位的示例代碼怎么寫

看完上述內容,你們掌握C#判斷DLL文件是32位還是64位的示例代碼怎么寫的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

dll
AI

化德县| 石林| 仙游县| 乐东| 信阳市| 贡觉县| 岳池县| 邮箱| 朝阳市| 江都市| 焦作市| 仙居县| 阜新| 湘乡市| 宿州市| 贵德县| 德阳市| 太仆寺旗| 富宁县| 博野县| 镇康县| 岳普湖县| 九龙坡区| 滨海县| 阳朔县| 福贡县| 锦州市| 漳浦县| 梧州市| 尖扎县| 敦煌市| 乐都县| 汉中市| 云林县| 喜德县| 清镇市| 南丰县| 宁城县| 车致| 玉树县| 肥西县|