实现过程
(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 = "服务关闭中。。。。。";
}
}
收发短信应用
最新推荐文章于 2022-01-05 09:50:48 发布