关掉那可恶的Dos窗口

原创 2003年07月03日 14:17:00

关掉那可恶的Dos窗口<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

       用过Java的人都知道,每次运行Java程序都要打开一个可恶的Dos窗口,要是能像IEOfficeWindows程序一样运行该多好。也许有人会想到,JBuilder运行时不就没有Dos窗口吗,但它是用CC++写的一个外壳程序,可惜我不会其它语言,那该怎么办?其实只要你善于观察、研究,有很多办法可以解决的。这里给你3个解决方法,让你的程序从此告别Dos窗口!

(一)   巧用JBuilder的外壳:仔细观察JBuilder安装目录下的bin目录(注意,这里以JBuilder8为例,低版本的JBuilder会稍微有些不同),你会发现jbuilder.configJBuilder.exeJBuilderW.exejdk.config 4个文件,用记事本打开jdk.config文件,将第15javapath ../jdk1.4/jre/bin/client/jvm.dll 改为你机器上jdk1.4的相应路径,同样要注意是jdk1.4,因为以前版本的jdk没有bin/client/jvm.dll文件,你可以使用绝对路径,如将其改为javapath D:/JBuilder8/jdk1.4/jre/bin/client/jvm.dll,然后再将21addpath ../jdk1.4/lib/tools.jar改为你机器上相应路径,如addpath D:/JBuilder8/jdk1.4/lib/tools.jar,其它不需要修改,存盘后退出。再用记事本打开jbuilder.config文件,在addpath后加一行,将你的classpath加进去,如addbootpath .(我这里将类文件和上面4个文件放到了同一个目录下),然后将最好一行的mainclass com.borland.jbuilder.JBuilder改为你的主程序,如mainclass com.bhr.ioat.Test,保存退出。然后双击JBuilderW.exe试试看,是不是没有Dos窗口了。注意,如果你要修改上面文件的名字时,一定要保证jbuilder.configJBuilder.exeJBuilderW.exe 3个文件的匹配,如改为Test.configTest.exeTestW.exe,任何的不匹配都可能运行不了你的程序。其实jbuilder.config文件主要就是classpath的设置,你可以根据需要删除里面好多内容的,留着你慢慢研究吧。

(二)   将你的程序打包成Jar文件:首先要安装jdk,注意一定是那种exe的安装文件,虽然你可以从别的机器上copy一个安装过的jdk使用,但是这里不行,为什么?稍后再告诉你。装完Jdk以后,到安装目录的demo/jfc/Notepad下,双击Notepad.jar,怎么样,是不是没有Dos窗口了,秘密在哪里,有两点。(1jdk在安装过程中会将jar文件的打开方式关联到javaw.exe文件。什么是javaw.exe?其实和java.exe一样,只不过运行程序时没有dos窗口。(2)就是那个jar文件了,如果你不会生成jar,还是先去查查别的资料吧。用winzip解开Notepad.jar,到META-INF目录下,打开MANIFEST.MF文件,看到了吧,里面有一句Main-Class: Notepad,换成你自己的类就可以了。需要注意的是Main-Class:后面有一个空格,如果少了的话,应该就起不来你的程序了。

(三)   通过Windowsstart命令:这个就简单多了,写一个启动你程序的批处理文件,一定要用javaw命令来运行,然后在javaw命令前加上start命令就可以了,如:

set classpath=.%classpath%;

set path= D:/JBuilder8/jdk1.4/bin;%path%;

start javaw com.bhr.ioat.Test

不过这样有个问题,就是dos窗口会闪一下,然后再关掉,还算可以凑合。

 

       上面只是提了3个方法,其中通过第一种方法的介绍,你可以举一反三,如用Intellj Idea的外壳也可以实现。虽然Dos窗口是没了,不过程序出的异常也同样看不到了,这里有几个方法可以弥补这个问题,(1)将你的输出重定向到文件;(2)程序中使用log4jlog(一定要catch住所有异常才可以)。最好,是否真的需要去掉那可恶的Dos窗口,就看你自己了。

system 函数隐藏dos窗口

1、qt适用 sprintf(chars,"shutdown -s -t %d",(int)(time));      WinExec(chars,SW_HIDE);       //syste...
  • tianzhijiaozi19
  • tianzhijiaozi19
  • 2017年03月24日 17:22
  • 452

DOS基本命令(基本部分)

一、cls(clear screen的简写)        命令作用:清屏屏幕        详细介绍:屏幕显示的所有字符信息都是存放在一个屏幕缓冲区中,cls命令的作用是清除屏幕上的文字,并将该...
  • CTO_51
  • CTO_51
  • 2014年04月27日 12:58
  • 10750

qt怎样隐藏dos窗口

最近小弟做一个日历软件,想给它添加一些功能其实就是调用一些外置程序。 于是想到了system("calc")这样调用总是会出现烦人的DOS窗口,如图: 出现dos窗口,很是蛋疼,于是上网查找,得到...
  • lsyrhz
  • lsyrhz
  • 2013年12月25日 12:19
  • 1508

Dos命令查看端口占用及关闭进程

Dos命令查看端口占用及关闭进程 1. 查看端口占用2. 关闭进程3. 端口状态 1. 查看端口占用 在windows命令行窗口下执行: netst...
  • zghwaicsdn
  • zghwaicsdn
  • 2015年07月11日 16:32
  • 489

教你关掉预览窗口

任务栏预览功能在windows7那个时候还是比较不错的功能,但是现在在windows8或者10上就显得有点没啥用了,windows10把可以关闭的任务栏预览功能选项删除了,鼠标滑过后不仅会遮挡屏幕,要...
  • tigaobansongjiahuan8
  • tigaobansongjiahuan8
  • 2017年07月26日 20:23
  • 161

如何使用dos命令关闭正在运行程序

使用cmd下的dos命令行可以对正在运行的程序进行管理,对影响电脑速度的程序可以使用命令关闭,这主要用在批量关闭程序的时候,比如一台电脑开了很多程序,现在需要把电脑中不用的程序全部关闭,类似于电脑的注...
  • daily11
  • daily11
  • 2016年04月21日 22:49
  • 1317

Android开发之DOS命令行的使用

命令行工具 把SDK的tools路径加入环境变量PATH之后就可以在任何目录下调用Android调试命令来运行程序。 在控制台窗口内可以输入下列命令: android –h 帮助命令,...
  • dyllove98
  • dyllove98
  • 2013年04月14日 11:26
  • 1803

逐梦C++补遗篇之二:如何在DOS窗口下运行程序

逐梦C++补遗篇之二:如何在DOS窗口下运行程序1.环境配置环境配置有几种方法,我们还是采用最简单、最稳妥的比较好; 计算机>>右键>>高级系统设置>>环境变量 需要设置三个环境变量,分别为:...
  • qq_31680779
  • qq_31680779
  • 2016年02月01日 14:16
  • 350

DOS窗口(cmd)编译运行java项目

对java项目在DOS窗口运行的一个总结;编译运行的过程中包含其他jar包。
  • qq_15624299
  • qq_15624299
  • 2015年02月01日 23:04
  • 2152

dos命令行连接oracle数据库

C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; v$动态表开头,查...
  • dongdekun369
  • dongdekun369
  • 2016年01月26日 17:04
  • 13418
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关掉那可恶的Dos窗口
举报原因:
原因补充:

(最多只允许输入30个字)