直接上代码:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Management;
using System.IO;
namespace SqliteAuto
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string dll32 = System.Windows.Forms.Application.StartupPath + \"\\\\lib\\\\SQLite32.DLL\";
string dll64 = System.Windows.Forms.Application.StartupPath + \"\\\\lib\\\\SQLite64.DLL\";
string dllpath = System.Windows.Forms.Application.StartupPath + \"\\\\System.Data.SQLite.dll\";
if (Detect32or64() == \"32\")
{
// do 32bit things.
try
{
using (FileStream fs = File.Create(dllpath)) { }
File.Copy(dll32, dllpath, true);
}
catch
{
Console.WriteLine(\"ERR\");
}
}
else if (Detect32or64() == \"64\")
{
//do 64bit things
try
{
using (FileStream fs = File.Create(dllpath)) { }
File.Copy(dll64, dllpath, true);
}
catch
{
Console.WriteLine(\"ERR\");
}
}
Application.Run(new Form1());
}
private static string Detect32or64()
{
try
{
string addressWidth = String.Empty;
ConnectionOptions mConnOption = new ConnectionOptions();
ManagementScope mMs = new ManagementScope(\"\\\\\\\\localhost\", mConnOption);
ObjectQuery mQuery = new ObjectQuery(\"select AddressWidth from Win32_Processor\");
ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(mMs, mQuery);
ManagementObjectCollection mObjectCollection = mSearcher.Get();
foreach (ManagementObject mObject in mObjectCollection)
{
addressWidth = mObject[\"AddressWidth\"].ToString();
}
return addressWidth;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return String.Empty;
}
}
}
}
本文地址:https://www.stayed.cn/item/25439
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我