如何将手机与电脑连接

本文关键字:电脑 连接 手机 | 更新日期: 2023-09-27 18:21:03

我正在做一个桌面学术项目,这个项目的要求之一是通过短信在手机上向用户发送短信,这些短信应该由与电脑相连的手机发送。我不知道该怎么做。当我在谷歌上搜索时,我得到了gsm调制解调器网关,一种通过电脑发送短信的解决方案。但它们不是免费的。诺基亚Conectivity SDK是另一种方式,但它与Visual Studio 2010不兼容。我在一个网站上得到了这个例子,但发件人最后说我的代码有错误。

Option Explicit On
Imports System
Imports System.Threading
Imports System.ComponentModel
Imports System.IO.Ports
Public Class form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.load

End Sub

Private WithEvents SMSPort As SerialPort
Private SMSThread As Thread
Private ReadThread As Thread
Shared _Continue As Boolean = False
Shared _ContSMS As Boolean = False
Private _Wait As Boolean = False
Shared _ReadPort As Boolean = False
Public Event Sending(ByVal Done As Boolean)
Public Event DataReceived(ByVal Message As String)
Public Sub New(ByRef COMMPORT As String)
SMSPort = New SerialPort
With SMSPort
.PortName = COMMPORT
.BaudRate = 9600
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.Handshake = Handshake.RequestToSend
.DtrEnable = True
.RtsEnable = True
.NewLine = vbCrLf
End With
ReadThread = New Thread(AddressOf ReadPort)
End Sub
Public Function SendSMS(ByVal CellNumber As String, ByVal SMSMessage As String) As Boolean
Dim MyMessage As String = Nothing
'Check if Message Length <= 160
If SMSMessage.Length <= 160 Then
MyMessage = SMSMessage
Else
MyMessage = Mid(SMSMessage, 1, 160)
End If
If IsOpen = True Then
SMSPort.WriteLine("AT+CMGS=" & CellNumber & vbCr)
_ContSMS = False
SMSPort.WriteLine(MyMessage & vbCrLf & Chr(26))
_Continue = False
RaiseEvent Sending(False)
End If
End Function
Private Sub ReadPort()
Dim SerialIn As String = Nothing
Dim RXBuffer(SMSPort.ReadBufferSize) As Byte
Dim SMSMessage As String = Nothing
Dim Strpos As Integer = 0
Dim TmpStr As String = Nothing
While SMSPort.IsOpen = True
If (SMSPort.BytesToRead <> 0) And (SMSPort.IsOpen = True) Then
While SMSPort.BytesToRead <> 0
SMSPort.Read(RXBuffer, 0, SMSPort.ReadBufferSize)
SerialIn = SerialIn & System.Text.Encoding.ASCII.GetString(RXBuffer)
If SerialIn.Contains(">") = True Then
_ContSMS = True
End If
If SerialIn.Contains("+CMGS:") = True Then
_Continue = True
RaiseEvent Sending(True)
_Wait = False
SerialIn = String.Empty
ReDim RXBuffer(SMSPort.ReadBufferSize)
End If
End While
RaiseEvent DataReceived(SerialIn)
SerialIn = String.Empty
ReDim RXBuffer(SMSPort.ReadBufferSize)
End If
End While
End Sub
Public ReadOnly Property IsOpen() As Boolean
Get
If SMSPort.IsOpen = True Then
IsOpen = True
Else
IsOpen = False
End If
End Get
End Property
Public Sub Open()
If IsOpen = False Then
SMSPort.Open()
ReadThread.Start()
End If
End Sub
Public Sub Close()
If IsOpen = True Then
'SMSPort = New SMSCOMMS("COM1")
'SMSEngine.Open()
'SMSEngine.SendSMS("919888888888", "SMS Testing")
'SMSEngine.Close()
SMSPort.Close()
End If
End Sub
End Class

但它在vb.net中,我没有命令。它能工作吗?

请给我一些想法,例如我在winform中使用c sharp。

如何将手机与电脑连接

嘿,我使用了GSMCOMM库,它适用于我使用Computer发送和接收短信。从谷歌下载,看看它的例子,看看它是如何工作的。以下是一些有用的链接GSMCOMM利用GSM调制解调器收发短信

从这里您可以下载GSMCOMM库

我不确定你是想要一种连接手机的方式,还是想要一种从电脑发送短信的方式,所以我两者都给。

要连接到手机(如果它有数据和android或IOS或其他你可以直接修改代码的东西),你可以创建从电脑到手机的套接字连接。我以前在android aps中做过这件事,效果很好。

如果你只需要从电脑上发送短信,而你知道运营商只需使用此列表发送电子邮件http://www.mutube.com/projects/open-email-to-sms/gateway-list/