iT邦幫忙

0

主控台應用程式(exe製作)

  • 分享至 

  • xImage

目前已知 使用

Environment.MachineName

就可以得知電腦名稱,判斷是否不同個電腦名稱

如果我要將 同一台電腦主機上 舊的 "RS232擴充卡" 被拆下換上新的 "RS232擴充卡"

用 製作好的 exe 去得知 不是原來的 "RS232擴充卡" 可行嗎?

1. POWERSHELL
2. WMI
3. Win32 _ SerialPort 類別 InstallDate 屬性
以上參考資料一堆,自行看看
如果要識別 "是不是同一台電腦" 要抓出哪些資訊呢??
例如:CPU ID 、電腦名稱
https://docs.microsoft.com/zh-tw/windows/win32/cimwin32prov/cimwin32-wmi-providers 這邊自己找喔
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-01-05 02:18:54
最佳解答

Win32 _ SerialPort 類別 InstallDate 屬性
的做法如下:

using System;
using System.Management;

namespace DetectHardwareChange
{
    class Program
    {
        static void Main(string[] args)
        {
            // 取得電腦名稱
            string computerName = Environment.MachineName;
            Console.WriteLine("Computer Name: " + computerName);

            // 建立 ManagementObjectSearcher 物件
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SerialPort");

            // 取得硬體清單
            ManagementObjectCollection collection = searcher.Get();

            // 列出硬體清單
            Console.WriteLine("Serial Ports:");
            foreach (ManagementObject mo in collection)
            {
                Console.WriteLine(mo["Name"]);
            }
        }
    }
}

我要發表回答

立即登入回答