请问java调用机器上的程序和windows账号的关系

donkey301 2015-04-28 10:59:00
java网页程序装在windows上,用管理员账号Admin安装的,在网页上设置后,点击计算时打开安装在同一台机器的后台程序,譬如windows的计算器。如果用管理员Admin账号进去,那是能打开计算器界面的,但如果是另外一个账号进windows系统,就没法打开计算器界面,请问怎么解决。
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youzi05 2015-04-29
  • 打赏
  • 举报
回复

String userName= System.getenv().get("USERNAME");
获取用户名, 然后用 "runas /user:用户名 calc.exe" 当参数, 调用Runtime.exec
youzi05 2015-04-29
  • 打赏
  • 举报
回复
这个, 因为你的服务器就是Admin账号, 所以自然是以Admin打开程序了, 不知道lz是用什么方法打开计算器的, 如果用的Runtime.exec的话, lz可以试试 "runas /user:用户名 calc.exe"
donkey301 2015-04-29
  • 打赏
  • 举报
回复
有人能稍微回答一下吗?
youzi05 2015-04-29
  • 打赏
  • 举报
回复
这个, 我也不太清楚, 只是感觉如果原本Admin用户的话, 切换成其他用户应该是不需要密码的啊. 还有就是我看runas中有一个参数是:
引用
/savecred 用用户以前保存的凭据。
lz可是看看这个参数怎么用的, 说不定就可以, 我的电脑上之后一个用户, 没法试, lz还是自力更生吧.....
donkey301 2015-04-29
  • 打赏
  • 举报
回复
引用 4 楼 u011004037 的回复:

String userName= System.getenv().get("USERNAME");
获取用户名, 然后用 "runas /user:用户名 calc.exe" 当参数, 调用Runtime.exec
试了一下,应该不行。 譬如在user2账号进入windows后,如果是在dos下运行runas /user:user1 calc.exe 这个命令,会要求输入密码,运行还是在user2中。 而如果用 "runas /user:用户名 calc.exe" 当参数, 调用Runtime.exec,怎么输入密码?
donkey301 2015-04-28
  • 打赏
  • 举报
回复
发现无论是哪个账号进去,产生的界面永远都是在安装账号Admin中,而不是登录账号,请问怎么改为登录账号呢?

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧