直接上代码:
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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我