`
古尔丹之颅
  • 浏览: 31072 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java实现笔记本电脑设置成WiFi热点

阅读更多

     首先,现在手机越来越依赖WiFi而存活,因为无论是2G还是2G根本无法满足客户对于手机上网的追求,而wifi热点就成为了很对人的最爱,我写了个简单的代码实现了简单的在自己的笔记本上建立wifi热点的功能(win7系统方可)。

 

     首先我们必须要有一个简单的界面,这自然不必多说,然后我们便要在电脑上启用并设定虚拟WiFi网卡,这其实是利用java调用命令提示符来实现的,也就是cmd。此命令有三个参数:

mode:是否启用虚拟WiFi网卡,改为disallow则为禁用,要是启用wifi热点我们就要设置为allow。

ssid:无线网名称。

key:无线网密码,需八个以上字符。

 

//定义一个设置wifi名字与密码的方法
	public void setWiFi(){
		try 
        {
			Process child=Runtime.getRuntime().exec("netsh wlan set hostednetwork mode=allow ssid="+jtname.getText()+" key="+jtpass.getText());
			writeId(jtname.getText(),jtpass.getText());
            InputStream in=child.getInputStream();
            int c=0;
            while(c!=-1)
            {
                c=in.read();
            }
            in.close();
            try 
            {
                child.waitFor();
            } 
            catch (InterruptedException en) 
            {
                en.printStackTrace();
            }
        } 
        catch (IOException ef) 
        {
            ef.printStackTrace();
        }
		}

 

 通过该方法,我们还能设置wifi的名字和密码,起名字和密码是从界面上的文本框中获得的。

 

接着我们要将这wifi名字和密码存入文件中,以便在下次登录时等记住上回的wifi名字和密码,不用用户从新设置,当然入户也可以选择从新设置wifi名字和密码。

 

//定义一个将wifi名字和密码写入指定文件中保存起来
	public void writeId(String str,String str2){
		try {
		 File file = new File("src/WiFi/name.txt");// 指定要写入的文件   
		 if(!file.exists()){
				try {
					file.createNewFile();
					file.renameTo(new File("src/WiFi/name.txt"));
				} catch (IOException e1) {
				}
				bufferedWriter = new BufferedWriter(new FileWriter(file,true));  
		        // 写入信息  
		        bufferedWriter.write(str);			        
		        bufferedWriter.newLine();// 表示换行   
		        bufferedWriter.write(str2);			        
		        bufferedWriter.newLine();// 表示换行  
		        bufferedWriter.flush();// 清空缓冲区  
				
			}else{
				file.delete();
				file.createNewFile();
				file.renameTo(new File("src/WiFi/name.txt"));
				bufferedWriter1 = new BufferedWriter(new FileWriter(file,true));  
		        // 写入信息  
				bufferedWriter1.write(str);			        
		        bufferedWriter1.newLine();// 表示换行   
		        bufferedWriter1.write(str2);			        
		        bufferedWriter1.newLine();// 表示换行  
		        bufferedWriter1.flush();// 清空缓冲区  
			}
		} catch (Exception e) {
		}
	}

 

      wifi名字和密码都设置完毕,但是要想该wifi能连接上网络,我们还需要打开“网络和共享心”——“更改适配器设置”,应该有多出的这一项“Microsoft Virtual WiFi Miniport Adapter”的无线连接2,如果没有,则把无线网卡驱动更新一下即可。无线网卡驱动在控制面板里的“设备管理器”中,你可以将该无线连接改个名字。

接下来我们还需将笔记本中的主要网络设置为共享,即选择你目前所连接的网络连接,然后右键,打开“属性”,选择“共享”,选中图中的第一项,然后选中你刚刚新建的那个无线连接的名字,然后点确定。

      然后我们便要开始wifi热点了,开始的方法我们将其放在一个线程里,其原理也是利用java代码调用命令提示符。其代码如下:java代码调用命令提示符。其代码如下:

Thread start=(new Thread(){
		public void run(){
			try 
	        {
				Process child=Runtime.getRuntime().exec("netsh wlan start hostednetwork");
	            InputStream in=child.getInputStream();
	            int c=0;
	            while(c!=-1)
	            {
	                c=in.read();
	            }
	            in.close();
	            try 
	            {
	                child.waitFor();
	            } 
	            catch (InterruptedException en) {
	                en.printStackTrace();
	            }
	        } 
	        catch (IOException ef) 
	        {
	            ef.printStackTrace();
	        }				
		}
	});

 同样我们还需要定义个关闭wifi热点的方法,该方法也是要放在线程里的。

 

 

      如此这般一个建立在笔记本上的wifi热点就算建立好了,此时你的手机应该能搜索到你的wifi了,如果连接上了之后还是不能上网,可能是承载你wifi的无线网卡被设置了局域网防护驱动程序,此时,你只消再次打开你的wifi无线网卡,点击右键选择属性,在“此连接使用下列项目”下面将局域网防护驱动程序前面的勾取消即可。

      这样就万事大吉了,接下来我还想做一个手机能远程控制电脑自动关机的软件,很多同学总是喜欢开着wifi在床上玩手机,但是玩完手机之后却怎么也懒得下床去关电脑睡觉,所以我要实现该功能,如果做完了之后便做成exe格式的软件在同学中试一试效果。

 

      虽然只是简单的小小程序,人性化却是我比较喜欢的,请多多指正,万望支持。

 

 

分享到:
评论

相关推荐

    wifi Ap热点

    终端设备(如手机、笔记本电脑等)通过无线信号与AP建立连接,从而实现上网。 #### 二、WiFi模块的初始化与启动 **初始化过程**: 1. **ConnectivityService**的创建:在Android系统启动过程中,`SystemServer`会...

    笔记本启动承载网络以支持手机接入(java实现源代码)

    标题中的“笔记本启动承载网络以支持手机接入(java实现源代码)”指的是使用Java编程语言实现的一种技术,它允许笔记本电脑作为一个Wi-Fi热点,为其他设备(如手机)提供网络接入服务。这种技术通常被称为“承载...

    获取WIFI无线网络列表

    这个列表是由你的设备(如手机、笔记本电脑)的无线网卡检测到的周围所有可用的WIFI热点。这些热点由其服务集标识符(SSID)来识别,SSID就像是无线网络的名称,用户可以通过它来识别不同的网络,例如家庭网络、咖啡...

    很实用的把你的电脑变成wifi热点

    的确,将笔记本或台式电脑变成无线热点的方法确实很多,但并不是每一种都适合你,你需要去甄别你的系统版本,需要去筛选你的电脑水平,在不断的实验中最终成功,可这时你可能已经没有心情去享受网络冲浪了。...

    TSing_wifi

    TsingWifi就是这样一款利用Java编程语言实现的实用工具,它允许用户在Windows 7操作系统上将笔记本电脑转变为Wi-Fi热点,为其他设备提供网络共享服务。 1. **Java编程语言的应用**: Java是一种跨平台、面向对象的...

    Kannada-Dictionary:卡纳达语字典

    卡纳达语词典Android应用程序 功能性: 搜索卡纳达语单词的含义 添加新词义 ... (打开手机中的热点,然后连接笔记本电脑中的wifi)。 打开命令提示符->输入ipconfig->按下Enter 在命令提示符下,在

    成为Android数据流大师-改变从此开始

    它能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。 ##### 2.2 蓝牙设置中的常用Intent 在Android中,开发者可以通过发送特定的Intent来控制蓝牙设备的行为,例如开启或...

    WiFihotspot:转载自https

    当其他设备(如手机、笔记本电脑或平板电脑)连接到这个热点时,它们可以通过该设备接入互联网。Wi-Fi热点的设置涉及到配置SSID(服务集标识符,即热点的名字)和密码,以及网络连接共享设置。 在Java中,开发Wi-Fi...

    2019移动互联A卷林丰波.docx

    随着平板电脑和笔记本电脑的发展,x86 架构也逐渐被 Android 支持。 - **不再支持的架构**:随着时间的推移和技术的发展,一些架构可能因为市场占有率较低或技术过时而被 Android 官方逐步放弃支持,如 MIPS。 ### ...

Global site tag (gtag.js) - Google Analytics