收发短信应用

实现过程
(1)新建一个项目,命名为Ex13_15,默认窗体为Form1。
(2)在Form1窗体中,主要添加TextBox控件和Label控件,控件的数量及用途如图13.16所示,添加一个Button控件,用于开启或停止远程关闭计算机服务。
(3)主要程序代码。
        private void Form1_Load(object sender, EventArgs e)
        {
           //机器号码
            txtJQHM.Text = GMS.GSMModemGetSnInfoNew(txtCOM.Text, txtBTL.Text); 
            txtCOM.Text = GMS.GSMModemGetDevice();  //COM1
            txtBTL.Text = GMS.GSMModemGetBaudrate();  //波特率
            labStatus.Text = "服务关闭中。。。。。";
        }
        private void Close_Windows()
        {
            try
            {
                //指定生成 WMI 连接所需的所有设置
                ConnectionOptions op = new ConnectionOptions();
                op.Username = txtUser.Text; //远程计算机用户名称
                op.Password = txtPWD.Text;   //远程计算机用户密码
                //设置操作管理范围
         ManagementScope scope = new ManagementScope("" + txtIP.Text + "//root//cimv2", op);
                scope.Connect(); //将此 ManagementScope 连接到实际的 WMI 范围。
                ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
             ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);
                //得到WMI控制
                ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject obj in queryCollection)
                {
                  obj.InvokeMethod("ShutDown", null); //执行关闭远程计算机
                }
            }
            catch(Exception ex)
            {
                Process p = new Process();
                p.StartInfo.FileName = "cmd.exe";
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.CreateNoWindow = true;
                p.Start();
                p.StandardInput.WriteLine("shutdown /s");
                p.StandardInput.WriteLine("exit");
            }
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            //连接设备
            if (GMS.GSMModemInitNew(txtCOM.Text, txtBTL.Text, null, null, false, txtPower.Text) == false)
            {
                MessageBox.Show("连接失败!" + GMS.GSMModemGetErrorMsg(), "提示", MessageBoxButtons.OK);
                return;
            }
            //接收短信
            string str = GMS.GSMModemSMSReadAll(1);
            if (str==null)
                return;
            if (str.Substring(str.IndexOf("|")+1, 2) == "关机")
            {
                this.Close_Windows();
            }
        }
private void button1_Click(object sender, EventArgs e)
        {
            if (button1.Text == "开启服务")
            {
                timer1.Enabled = true;
                labStatus.Text = "关机命令采集中。。。。。";
                button1.Text = "停止服务";
            }
            else
            {
                timer1.Enabled = false;
                button1.Text = "开启服务";
                labStatus.Text = "服务关闭中。。。。。";
            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值