2018年11月15日

以管理员身份运行BAT脚本

自从Visa之后,微软加强了对权限的控制。有些系统默认的目录不能直接访问,会弹出提示,问你是否继续。所以普通的Jar不能直接执行,或者说执行了之后无法执行写操作。并且点右键没有以管理员身份运行的选项。所以我们需要写一个批处理文件来解决。

当以管理员身份运行时,当前目录就发生了变化,所以需要在开始加上:
cd /d %~dp0

如果不想让这个黑黑的CMD窗口一直显示,可以加上:
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM

整体代码如下:
cd /d %~dp0
if "%1" == "h" goto begin
mshta vbscript:
createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
javaw -jar testNoah.jar



posted @ 2019-06-05 13:10 眼镜蛇 阅读(1233) | 评论 (0)编辑 收藏

java Swing ImageIcon 包Jar包后的路径问题

如果直接写图片名比如:
new ImageIcon("ico/start.png");
这时它会默认在你的项目工程下找。比如,项目工程是这样的结构,Project1/scr/com/test/aaa.java。那它会找Project/ico/start.png,这个文件。放在这也可以。在Eclipse下执行是正常的。但如果是打成Jar包后。这个图片文件不会被打进去。打进去也找不到。你只能在在这个打好的Jar的同级目录下在放一个这个图片文件、夹。虽然这样可以解决问题。但总感觉,这个图片属于这个Jar的,应该跟Jar是一个整体。
所以,比较好的解决办法是,改成这样, new ImageIcon(getClass().getResource("/ico/start.png"))。这样一改,它的读取位置就是Project1/src/ico/start.png. 这样就可以打Jar包时一起被打进来。并且在Eclipse里执行也能正常显示。比之前那种要考文件的“高级”一些。

posted @ 2018-11-15 15:51 眼镜蛇 阅读(712) | 评论 (0)编辑 收藏

<2018年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜