2015-06-14 58 views
0

我想从电脑发短信到手机。 第一步:让所有的COM端口使用它。 我用这个代码,但没有任何好处:为什么GetPortNames方法不会返回任何内容?

private void Form1_Load(object sender, EventArgs e) 
{ 
    string[] Ports = SerialPort.GetPortNames(); 
    foreach (string prt in Ports) 
    { 
     comboBox1.Items.Add(prt); 
    } 
} 

它没有返回。我能做什么?

+0

为什么要发送短信使用串行端口?大量的网络可访问的短信网关。 –

+0

你有手机连接到你的电脑(用USB电缆)吗? – n0rd

回答

2

我只是跑在我的电脑下面的代码,并返回“COM1”:

 string[] ports = SerialPort.GetPortNames(); 

     Console.WriteLine("The following serial ports were found:"); 
     foreach(string port in ports) 
     { 
      Console.WriteLine(port); 
     } 

     Console.ReadLine(); 

所以,它要么权限,或者你没有任何串行端口。或者你的注册表是腐败的?

注:

名是从系统注册表获得(例如, HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM)的端口。如果注册表 包含陈旧或其他不正确的数据,则GetPortNames 方法将返回不正确的数据。

编号:SerialPort.GetPortNames

+0

和downvote是因为? –

+0

那么我怎样才能检查我是否有串口或如果我的注册表是腐败或不是? –

+2

2 downvotes?跆拳道? –

0

我在第一次同样的问题。然后意识到我没有将任何设备连接到我的PC上,它们将自己标识为串行端口(通过USB或任何其他物理端口)。当我连接一个设备(在我的情况下,一个基于USB的PIC编程器)时,它显示准确。请检查您的设备是否被正确检测到。

相关问题