win7 wifi

package com.davint.util.wifi;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class GetWifi {
	private static final Log logger=LogFactory.getLog(GetWifi.class.getName());
	private static final GetWifi gw= new GetWifi();
	public static GetWifi getInstance (){
		return gw;
	}

	public GetWifi() {
		// TODO Auto-generated constructor stub
	}
	/**
	 * isload
	 * @param cmd
	 */
	private void isLoad(String cmd){
		Process p;
		try {
			p = Runtime.getRuntime().exec(cmd);
			BufferedReader in = new BufferedReader(new InputStreamReader(p
					.getInputStream()));
			String temp = null;
			StringBuffer strBuffer = new StringBuffer();
			while ((temp = (in.readLine())) != null)
				strBuffer.append(temp);
			logger.info(strBuffer.toString());
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}

	public void open(){
		String cmd="netsh wlan start hostednetwork";
		this.isLoad(cmd);
	}
	
	public void close(){
		String cmd="netsh wlan stop hostednetwork";
		this.isLoad(cmd);
	}
	public void help(){
		
		logger.info("输入quit或exit 退出");
		logger.info("输入  -h 或help 帮助");
	}
	public void isConnect(){
		// 控制台
		BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
		String command = "";
		String commstr="";
		logger.info("please input ssid and key. 输入格式为:  ssid,key (hellowifi,123123)");
		gw.help();
		while (true) {
			try {
				command = bin.readLine();
				if (command.toLowerCase().equals("quit") || command.toLowerCase().equals("exit")) {
					logger.info("退出");
					System.exit(0);
				} else if( command.toLowerCase().equals("-h")||command.toLowerCase().equals("help")){
					gw.help();
				}else {
					//logger.info(command.toString().toLowerCase());
					if(command.length()==0){
						gw.help();
						logger.info("输入格式为:  ssid,key (hellowifi,123123)");
					}else{
						String[] comm=command.split(",");
						if(comm.length!=2){
							logger.info("输入格式为:  ssid,key (hellowifi,123123) 有且仅有一个','");
						}else if(comm.length==2){
							String ssid=comm[0];
							String key=comm[1];
							logger.info("ssid :"+ssid+"  key:"+key);
							logger.info("设置承载网络");
							StringBuffer sb = new StringBuffer("netsh wlan set hostednetwork mode=allow ");
							sb.append(" ssid="+ssid);
							sb.append(" key="+key);
							commstr=sb.toString();
							logger.info(commstr);
							
							if(commstr.indexOf("必须使用管理员权限")==-1){
								logger.info("必须使用管理员权限!");
								break;
								
							}else{
								//执行
								gw.isLoad(commstr);
								logger.info("请选择打开或关闭WIFI:start打开,close关闭");
								if(command.toLowerCase().equals("open")){
									//dakai
									gw.open();
								}else if(command.toLowerCase().equals("close")){
									//guanbi
									gw.close();
								}else{
									
									logger.info("start打开,close关闭");
								}
							}
							
						}
					}
				}

			} catch (IOException e) {
				logger.info("input error,please try again!");
			}
		}
		
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		gw.isConnect();
	}
}

### Windows 7 WiFi 图标消失的解决方案 对于Windows 7WiFi图标消失的问题,可以尝试以下方法来解决问题: #### 方法一:清除图标缓存 可以通过清理图标的缓存文件来修复此问题。具体操作如下: 1. 使用快捷键 `Win + R` 调出运行对话框。 2. 输入 `%USERPROFILE%\AppData\Local` 并按下回车进入该目录。 3. 找到名为 `IconCache.db` 的文件并将其删除[^1]。 4. 接下来通过组合键 `Ctrl + Shift + Esc` 启动任务管理器,或者右键点击任务栏选择任务管理器。 5. 在任务管理器中找到 “Windows 资源管理器”,右键单击它并选择“重新启动”。这一步会重建图标缓存。 完成上述步骤后,通常能够使WiFi图标恢复正常显示。 #### 方法二:启用或禁用网络适配器 有时无线网卡驱动程序可能存在问题,导致WiFi图标无法正常显示。此时可尝试重置网络适配器设置: 1. 按下 `Win + X` 键,在弹出菜单中选择设备管理器。 2. 展开“网络适配器”部分,找到对应的无线网卡名称。 3. 右键点击无线网卡选项,先选择“禁用设备”,等待几秒后再选择“启用设备”。 这一过程有助于刷新硬件状态,从而让系统重新识别无线网卡及其关联的功能图标。 #### 方法三:更新或重新安装无线网卡驱动程序 如果以上两种方式均未奏效,则可能是由于无线网卡驱动损坏引起的问题。建议下载最新版本的驱动程序进行替换安装: 1. 访问计算机制造商官网,查找适用于您机型的具体型号以及对应的操作系统的无线网卡驱动包。 2. 下载完成后卸载当前已有的旧版驱动(同样可以在设备管理器里执行),随后按照提示完成新驱动的安装流程。 另外需要注意的是,某些情况下也可能是因为系统本身存在错误而导致此类现象发生;因此还可以考虑利用系统自带工具来进行故障排查与修正工作——即 **系统还原** 功能[^2]。选取一个较早之前创建好的还原点作为目标日期实施整个恢复进程,前提是确认那个时间节点上的Wi-Fi服务处于可用状况之下。 ```bash # 如果是在Ubuntu环境下遇到类似情况,则需编辑NetworkManager配置文件 sudo nano /etc/NetworkManager/NetworkManager.conf ``` 最后提醒一点,尽管这里主要讨论针对Windows环境下的处理办法,但如果用户正处在双操作系统架构之中(比如同时拥有Linux发行版),那么也应留意不同平台间交互影响所造成的潜在干扰因素[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值