首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在高优先级下使用ProcessBuilder运行java程序?

如何在高优先级下使用ProcessBuilder运行java程序?
EN

Stack Overflow用户
提问于 2015-12-21 20:21:16
回答 1查看 428关注 0票数 3

我正在使用批处理文件调用GUI。该图形用户界面有一个按钮(B1),单击该按钮将调用其自身的副本。现在,我想提高图形用户界面的优先级,无论它是从批处理还是从按钮B1运行。

使用batch,我可以提高它的优先级,但不能使用B1。

以下代码在单击按钮B1时执行:(我使用cmd来增加优先级;我不知道是否有其他方法)

代码语言:javascript
复制
final ProcessBuilder processBuilder = new ProcessBuilder("cmd", 
  " /C", 
  " start /high", 
  path,
  "-DTESTKERNEL_PROPERTIES=" + tempFile.getCanonicalPath(),
  "-Djava.util.logging.config.file=" + loggingFile,
  "-Djava.library.path=" + libraryPath,
  "-cp",
  classpath,
  "com.abc.cde.gui.typetwo.GuiTypeTwo");
processBuilder.directory(new File(System.getProperty("user.dir")));

DTESTKERNEL_PROPERTIES是一个属性文件,是执行代码所必需的。

这是输出为列表:

代码语言:javascript
复制
cmd, 
/C, 
start, 
/high, 
D:\jdk\jre\bin\javaw, 
-DTESTKERNEL_PROPERTIES=C:\Users\test\AppData\Local\Temp\testkernel2667928753863437728.properties, 
-Djava.util.logging.config.file=../config/logging.properties, 
-Djava.library.path=D:\TestKernalMain\lib, 
-cp, 
D:\Workspace\TestKernalMain\bin;
D:\TestKernalMain\lib\bundled\bsh-2.0b5.jar;
D:\TestKernalMain\lib\bundled\commons-cli-1.2.jar;
D:\TestKernalMain\lib\bundled\commons-collections-3.2.1.jar;
D:\TestKernalMain\lib\bundled\commons-configuration-1.8.jar;
D:\TestKernalMain\lib\bundled\commons-io-2.0.jar;
D:\TestKernalMain\lib\bundled\commons-lang-2.5.jar;
D:\TestKernalMain\lib\bundled\commons-logging-1.1.1.jar;
D:\TestKernalMain\lib\bundled\commons-net-2.2.jar;
D:\TestKernalMain\lib\bundled\commons-vfs2-2.0.jar;
D:\TestKernalMain\lib\bundled\eventbus-1.4.jar;
D:\TestKernalMain\lib\bundled\javasimon-core-2.3.0.jar;
D:\TestKernalMain\lib\bundled\javasimon-jmx-2.3.0.jar;
D:\TestKernalMain\lib\bundled\jpcsc.jar;
D:\TestKernalMain\tools\ant\ant-antlr.jar;
D:\TestKernalMain\tools\ant\ant-apache-bcel.jar;
D:\TestKernalMain\tools\ant\ant-apache-bsf.jar;
D:\TestKernalMain\tools\ant\ant-apache-log4j.jar;
D:\TestKernalMain\tools\ant\ant-apache-oro.jar;
D:\TestKernalMain\tools\ant\ant-apache-regexp.jar;
D:\TestKernalMain\tools\ant\ant-apache-resolver.jar;
D:\TestKernalMain\tools\ant\ant-apache-xalan2.jar;
D:\TestKernalMain\tools\ant\ant-commons-logging.jar;
D:\TestKernalMain\tools\ant\ant-commons-net.jar;
D:\TestKernalMain\tools\ant\ant-contrib.jar;
D:\TestKernalMain\tools\ant\ant-jai.jar;
D:\TestKernalMain\tools\ant\ant-javamail.jar;
D:\TestKernalMain\tools\ant\ant-jdepend.jar;
D:\TestKernalMain\tools\ant\ant-jmf.jar;
D:\TestKernalMain\tools\ant\ant-jsch.jar;
D:\TestKernalMain\tools\ant\ant-junit.jar;
D:\TestKernalMain\tools\ant\ant-junit4.jar;
D:\TestKernalMain\tools\ant\ant-launcher.jar;
D:\TestKernalMain\tools\ant\ant-netrexx.jar;
D:\TestKernalMain\tools\ant\ant-swing.jar;
D:\TestKernalMain\tools\ant\ant-testutil.jar;
D:\TestKernalMain\tools\ant\ant.jar;
D:\TestKernalMain\tools\cardreader\javactapi.jar;
D:\TestKernalMain\tools\iText\iText-2.1.7.jar;
D:\TestKernalMain\tools\iText\iText-rtf-2.1.7.jar;
D:\TestKernalMain\tools\jdiff\antjdiff.jar;
D:\TestKernalMain\tools\jdiff\jdiff.jar;
D:\TestKernalMain\tools\jdiff\xerces.jar;
D:\TestKernalMain\tools\JUnit\junit.jar;
D:\TestKernalMain\tests\lib\cglib-nodep-2.2.2.jar;
D:\TestKernalMain\tests\lib\easymock-3.0.jar;
D:\TestKernalMain\tests\lib\jetm-1.2.3.jar;
D:\TestKernalMain\tests\lib\jetm-optional-1.2.3.jar;
D:\TestKernalMain\tests\lib\obj-1.2.jar;
D:\Workspace\GUITypeTwo\bin;
D:\TestKernalMain\lib\TestKernel.jar;
D:\GUITypeTwo\lib\external\docking-frames-core.jar;
D:\GUITypeTwo\lib\external\docking-frames-common.jar;
D:\GUITypeTwo\lib\external\glasslib.jar;
D:\GUITypeTwo\lib\external\docking-frames-ext-glass.jar;
D:\GUITypeTwo\lib\external\h2-1.3.167.jar;
D:\GUITypeTwo\lib\external\mydoggy-api.jar;
D:\GUITypeTwo\lib\external\mydoggy-plaf.jar;
D:\GUITypeTwo\lib\external\mydoggy-res.jar;
D:\GUITypeTwo\lib\external\swingx-core-1.6.2.jar;
D:\GUITypeTwo\lib\external\TableLayout.jar;
D:\GUITypeTwo\lib\external\ValidationAPI.jar;
D:\GUITypeTwo\tools\MPlus.jar;
D:\GUITypeTwo\tools\JUnit\junit-4.9.jar;
D:\TestKernalMain\config, 
com.gui.typetwo.GuiTypeTwo
EN

回答 1

Stack Overflow用户

发布于 2015-12-21 21:29:09

删除/Cstart之前的空格,并将"start /high"拆分为两个单独的参数:

代码语言:javascript
复制
new ProcessBuilder("cmd", "/C", "start", "/high", ...)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34395580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档