2011-01-24 16 views
8

के माध्यम से मोबाइल फोन डायल करें मैं सी # प्रोग्राम के माध्यम से मोबाइल फोन डायल करने की कोशिश कर रहा हूं। नीचे मेरा कार्यक्रम दिखाएं। इसमें, जब मैं अपने डायल बटन पर क्लिक करता हूं तो यह संख्या (गंतव्य संख्या) डायल करें जो मैंने अपने कार्यक्रम में दिया था। लेकिन एक या दो सेकंड के बाद यह गायब हो गया है & यह उस गंतव्य नंबर से कनेक्ट नहीं है। नीचे मेरे सी # कोड दिखाता है। कृपया मुझे इस समस्या को हल करने में मदद करें। धन्यवाद .......सी # प्रोग्राम

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.IO.Ports; 

namespace WindowsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     {   
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      SerialPort sp = new SerialPort(); 
      sp.PortName = "COM10"; 
      sp.BaudRate = 9600; 
      sp.Parity = Parity.None; 
      sp.DataBits = 8; 
      sp.StopBits = StopBits.One; 
      sp.Handshake = Handshake.XOnXOff; 
      sp.DtrEnable = true; 
      sp.RtsEnable = true; 


      sp.Open(); 

      if (!sp.IsOpen) 
      { 
       MessageBox.Show("Serial port is not opened"); 
       return; 
      } 

      sp.WriteLine("AT" + Environment.NewLine); 
      sp.WriteLine("ATD=\"" + "Destination Number" + "\"" + Environment.NewLine); 

     } 
    } 
} 

अंततः मुझे समाधान मिला। हमें गंतव्य संख्या के अंत में सेमी-कोलन जोड़ना चाहिए। फिर यह काम किया।

sp.WriteLine("ATD=\"" + "Destination Number;" + "\"" + Environment.NewLine); 
+0

यदि आपका मोबाइल फोन हेस मॉडेम कमांड स्वीकार करता है तो मुझे लगता है कि यह सिर्फ 'ATDT2125551234' है, कोई बराबर या उद्धरण नहीं है। – Rup

+0

इसकी सोनी एरिक्सन मोबाइल फोन। जब मैं आपके ATDT2125551234 कमांड का उपयोग करता हूं, तो परिणाम समान होता है। एक या दो सेकंड डायलिंग और फिर यह स्वचालित रूप से गायब हो गया। – Chamal

+2

अंततः मुझे समाधान मिला। हमें जोड़ना चाहिए; गंतव्य संख्या के अंत तक। फिर यह काम किया। – Chamal

उत्तर

0

इसलिए की तरह विधि के बाहर 'एसपी' की decleration ले जाने का प्रयास,:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.IO.Ports; 

namespace WindowsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     private SerialPort sp; 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      sp = new SerialPort();   
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (sp.IsOpen) 
      { 
       sp.Close(); 
      } 

      sp.PortName = "COM10"; 
      sp.BaudRate = 9600; 
      sp.Parity = Parity.None; 
      sp.DataBits = 8; 
      sp.StopBits = StopBits.One; 
      sp.Handshake = Handshake.XOnXOff; 
      sp.DtrEnable = true; 
      sp.RtsEnable = true; 


      sp.Open(); 

      if (!sp.IsOpen) 
      { 
       MessageBox.Show("Serial port is not opened"); 
       return; 
      } 

      sp.WriteLine("AT" + Environment.NewLine); 
      sp.WriteLine("ATD=\"" + "Destination Number" + "\"" + Environment.NewLine); 

     } 
    } 
} 
1

अधिकतम करने के लिए अपने BaudRate बढ़ाएँ और इस AT कमान का उपयोग करें:

ATD = DestinationNumber; 

हो जाएगा ताकि ; के साथ काम न करें क्योंकि सिस्टम को लगता है कि आप डेटा कॉल कर रहे हैं, न कि वॉयस कॉल।

0

यहाँ मेरे कार्य डायलन की हड्डी यह फोन क्या बजाते है नहीं जानता है कि कैसे ध्वनि इनपुट और बाहर बंदरगाह मैं E173 dongle.Here huwavi उपयोग कर रहा हूँ से डाल पाने के लिए मेरे कार्य की हड्डी सी #

SerialPort port = new SerialPort(); 
port.Open(); 
string t = port.ReadExisting(); 
Thread.Sleep(100); 

string cmd = "ATD"; 
Thread.Sleep(100); 
string phoneNumber = "071********"; 
Thread.Sleep(100); 
port.WriteLine(cmd + phoneNumber + ";\r"); 

port.Close(); 
संबंधित मुद्दे