C#判断系统是否已经连接上网络

也不知道为什么,最近电脑连接上网络的速度很慢。我的是ADSL用户,网线连接无线路由器。

由于每次拨号后,都要等待很久才能连接上网络。既然连接不上网,那我用电脑也没什么意思。

于是就不想呆在电脑旁边,想利用这连接的间隙时间去做其它事情。等电脑连上网了在回来继续玩,

那怎么办呢?于是就有了想法想做个程序去判断电脑是否已经连上网络,如果连接上了,就播放声音

提示已经连接上。这样我听到声音后,就能知道电脑可以上网了。还有另一个思路就是用手机短信通知的方式。

一些彩铃网站,在用户输入手机号码后,就会免费发送一条短信到该手机号码上。

如果电脑可以连接上网络了,我可以通过模拟彩铃网站进行数据提交(比如post提交),

之后就会发送短信到我手机号码上,从而达到"通知"我的目的,当然这是免费的。

 1 /*
 2  * 由SharpDevelop创建。
 3  * 用户: 从前的我
 4  * 日期: 2012-05-31
 5  * 时间: 17:43
 6  * 
 7  * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
 8  */
 9 using System;
10 using System.Runtime.InteropServices;
11 
12 namespace Network_status
13 {
14     class Program
15     {
16         [DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]
17         public extern static bool InternetGetConnectedState(out int conState, int reder);
18         //参数说明 constate 连接说明 ,reder保留值
19         public static bool IsConnectedToInternet()
20         {
21             int Desc=0;
22             return InternetGetConnectedState(out  Desc, 0);
23         }
24         public static void Main(string[] args)
25         {
26             while(true)
27             {
28                  if (IsConnectedToInternet())
29                  {
30                     Console.WriteLine("已连接在网上!");
31                     //通知我的Code....
32                  }
33                 else
34                 {
35                     Console.WriteLine("未连接在网上!"); 
36                 }
37                 System.Threading.Thread.Sleep(5000);
38             }
39         }
40     }
41 }

转载于:https://www.cnblogs.com/backkoms/archive/2012/05/31/2529226.html

C#判断特定型号的打印机是否连接正常通常涉及使用Windows打印相关API函数。可以通过调用`PrintSystemJobInfo`类的方法来检查打印机的状态。下面是一个简单的示例代码,用于检查名为“ZD888-ZPL”的打印机是否连接正常: ```csharp using System; using System.Printing; namespace CheckPrinterStatus { class Program { static void Main(string[] args) { // 指定要检查的打印机名称 string printerName = "ZD888-ZPL"; try { // 获取打印机属性 LocalPrintServer localPrintServer = new LocalPrintServer(); PrintQueueCollection printQueues = localPrintServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local }, new[] { printerName }); if (printQueues.Count > 0) { PrintQueue printQueue = printQueues[0]; // 获取打印机的状态 PrintSystemJobInfo[] jobs = printQueue.GetPrintJobInfoCollection(); if (jobs != null && jobs.Length > 0) { // 如果有打印任务则表明打印机工作正常 Console.WriteLine("打印机已连接并可以使用。"); } else { // 没有打印任务但打印机存在 Console.WriteLine("打印机已连接但当前没有打印任务。"); } } else { // 没有找到指定名称的打印机 Console.WriteLine("未找到指定的打印机,请检查打印机名称是否正确。"); } } catch (Exception ex) { // 打印机检查过程中发生异常 Console.WriteLine("打印机检查出错: " + ex.Message); } } } } ``` 这段代码首先尝试获取本地打印服务器的实例,并查询是否存在名为“ZD888-ZPL”的打印队列。如果找到了对应的打印队列,它将检查该队列是否有打印任务。如果有,说明打印机至少在系统已经设置好并且处于可用状态。如果没有任务,但打印机存在,那么打印机可能处于空闲状态。如果根本找不到指定的打印机,那么可能打印机未正确安装或者名称输入有误。 请注意,这段代码没有进行异常处理以外的错误处理,实际情况中可能还需要考虑打印机服务是否启动、网络打印机是否可以通讯等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值