c# 实现远程关机

        using System;
        using System.Collections.Generic;
        using System.ComponentModel;
        using System.Data;
        using System.Drawing;
        using System.Text;
        using System.Windows.Forms;
        using System.Management;
        namespace Ex18_11
        {
            public partial class Form1 : Form
            {
                public Form1()
                {
                    InitializeComponent();
                }
                private void button1_Click(object sender, EventArgs e)
                {
                    //指定生成 WMI 连接所需的所有设置
                    ConnectionOptions op = new ConnectionOptions();
                    op.Username = "administrator";
                    //远程计算机用户名称
                    op.Password = "12345";   
                    //远程计算机用户密码
                    //设置操作管理范围
                    ManagementScope scope = new ManagementScope("\\\\" + "121.35.174.154" + "\\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); //执行关闭远程计算机,reboot为重新启动
                    }
                }
            }
        }

转载于:https://www.cnblogs.com/ymyglhb/archive/2008/08/11/1265146.html

C#中,要实现远程控制打印机并使其自动关机,通常需要结合Windows的管理工具和服务。C#可以通过调用Windows的API或者使用.NET Framework提供的类库来实现这一功能。以下是一些基本步骤: 1. 使用`System.Management`命名空间中的类来访问和管理本地或远程的打印机。这包括查询打印机状态、暂停和恢复打印机等操作。 2. 要实现远程关机,可能需要管理员权限,并且需要确保远程计算机允许通过网络进行管理。 3. 使用`System.Diagnostics`命名空间中的`Process`类来执行系统命令,如`shutdown`命令,以关闭远程计算机。 以下是一个简单的示例代码,演示如何使用C#来关闭本地计算机上的打印机服务: ```csharp using System; using System.Management; using System.Diagnostics; class Program { static void Main() { // 关闭打印机服务 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Service WHERE Name='Spooler'"); foreach (ManagementObject service in searcher.Get()) { if (service["State"] != null && service["State"].ToString() == "Running") { try { service.InvokeMethod("StopService", null); Console.WriteLine("打印机服务已停止。"); } catch (Exception ex) { Console.WriteLine("服务停止失败: " + ex.Message); } } else { Console.WriteLine("打印机服务未运行。"); } } } } ``` 请注意,远程控制打印机服务通常需要管理员权限,而直接通过C#代码执行远程关机则可能需要更复杂的安全认证和网络配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值