Wifi热点java_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格式的软件在同学中试一试效果。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值