我被Java中的旧错误/缺失功能所困扰:
http://bugs.sun.com/view_bug.do;jsessionid=b2ac8ea11f05c16d948e24d36fb5?bug_id=4673406
事实上,Java的标准打印对话框中的“属性”按钮似乎总是在Windows上禁用。仅当PrintService.getServiceUIFactory()返回非空的内容时,才会启用该按钮。不幸的是,Win32PrintService实例始终返回null。总是
通过谷歌搜索,我发现你可以通过调用rundll32来调用Windows自己的打印属性对话框:
rundll32 printui.dll,PrintUIEntry /e /n "name of printer here"
我希望我可以使用它来规避Win32PrintService中的错误/缺失功能。但是,我不知道如何查询PrintUIEntry对话框以获取用户的选择。
换句话说,如何获得上述rundll32调用的结果? (如果我必须在C / JNI中编写一些内容并直接使用Windows API,那就这样吧。但我宁愿不这样做。)
或者有更好的方法来解决这个问题吗?
答案 0 :(得分:4)
rundll32没有给你任何返回值,它的退出代码总是为零。
我认为你必须找到另一种方式。