论坛首页 Java企业应用论坛

彻底去掉java项目启动时的DOS黑屏

浏览 12288 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-01-14  
windows下的java项目,如swing,启动方式一般是建立批处理文件,执行 java 或 javaw 命令,如下:

javaw -jar xxx.jar

但会有DOS的黑屏一直存在,在批处理这样写

@echo off
start javaw -jar xxx.jar

就只会在启动刹那有黑屏闪过。

但怎么能彻底去掉黑屏呢?

昨晚做了一个小东西,可解决这个问题。

你可能猜到了!

用 Win32 或 MFC 写一个程序,执行 javaw 即可!

主要代码如下:
 CString path;
    
    GetModuleFileName(NULL, path.GetBufferSetLength(MAX_PATH), MAX_PATH);

    int nCount = path.ReverseFind( '\\'); 
    path = path.Left(nCount); 

    CString cmdfile;
    cmdfile.Format("%s\\%s", path, "cmd.txt");

    CStdioFile f;

    if(!f.Open(cmdfile, CFile::modeRead|CFile::typeText)) {
        MessageBox(0, "当前目录下没有 cmd.txt 配置文件.\n\n该文件应该有两行, 第一行是命名, 第二行是参数.", "错误", MB_OK);
        exit(1);
    }

    CString cmd;
    f.ReadString(cmd);

    CString param;
    f.ReadString(param);

    f.Close();

    param.Replace("{path}", path);

    ShellExecute(0, "open", cmd, param, 0, SW_SHOWNORMAL);


编译完成生成 .exe 后,在同目录下建立一个 cmd.txt 文件,内容如下:

javaw
-jar {path}\xxxx.jar

其中{path}指当前目录,用来确定 xxxx.jar 的绝对位置

这样,双击 .exe 就可以没有黑屏的启动 java 项目了!

   发表时间:2011-01-14  
试一试这个呢?
@echo off
start /b javaw -jar xxx.jar
0 请登录后投票
   发表时间:2011-01-14  
alone11 写道
试一试这个呢?
@echo off
start /b javaw -jar xxx.jar

0 请登录后投票
   发表时间:2011-01-14  
yvfish 写道
alone11 写道
试一试这个呢?
@echo off
start /b javaw -jar xxx.jar


/b 也不给力呀
0 请登录后投票
   发表时间:2011-01-14  
直接双击jar不行么?
0 请登录后投票
   发表时间:2011-01-15  
直接把项目编码成可以直接运行的exe文件,我前段时间写的一个java application就是这么做的。。。
0 请登录后投票
   发表时间:2011-01-15  
打成 Runnable Jar file模式 或者用 JSmooth 打成exe格式不是更方便? 推荐使用JSmooth
0 请登录后投票
   发表时间:2011-01-15  
handong890 写道
打成 Runnable Jar file模式 或者用 JSmooth 打成exe格式不是更方便? 推荐使用JSmooth


我用的就是这个工具
0 请登录后投票
   发表时间:2011-01-16  
onlylau 写道
handong890 写道
打成 Runnable Jar file模式 或者用 JSmooth 打成exe格式不是更方便? 推荐使用JSmooth


我用的就是这个工具


JSmooth好久没更新了。
0 请登录后投票
   发表时间:2011-01-16  
eclipse 不就这样的?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics