我想要一個控制元素來顯示正在運行的程序中關於連接的USB設備的更改。搜索後,我設法找到USB設備並將其打印出來。我也處理獲取有關移除和連接的信息。移除或插入新USB設備後的COM端口更新
但現在有一個問題,當我結合兩個部分它不起作用。 這裏是我的代碼:
namespace usbPortAbfrage
{
public partial class Form1 : Form
{
ArrayList result = new ArrayList();
public Form1()
{
InitializeComponent();
bla();
}
public ArrayList GetComFriendlyNames()
{
ArrayList names = new ArrayList();
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT InstanceName, PortName FROM MSSerial_PortName");
foreach (ManagementObject port in searcher.Get())
{
names.Add(port["PortName"]);
}
}
catch (ManagementException)
{
}
return names;
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.WParam.ToInt32() == 0x8004)
{
MessageBox.Show("Gerät entfernt");
richTextBox1.Clear();
bla();
}
if (m.WParam.ToInt32() == 0x8000)
{
MessageBox.Show("Gerät angeschlossen");
richTextBox1.Clear();
bla();
}
}
public void bla()
{
richTextBox1.Clear();
ArrayList test = GetComFriendlyNames();
foreach (string name in test)
{
richTextBox1.AppendText(name + "\n");
}
}
}
}
什麼不行? –
當我開始運行時,它運行並創建一個表單,其中是一個「richtextbox」。在那裏站立我的Comports,但如果我將刪除或連接設備清除文本框,並不追加新的文本(也是新的搜索) – Schursan88
事件綁定對你的方法是什麼樣的? –