2015-10-10 123 views
1

我有一个Java应用程序,我想在客户端Windows 8.1框上的用户登录时自动启动。在Windows 8.1上自动启动Java应用程序登录

我在Windows 8.1上创建了一个可执行的jar包。

我已经通过Launch4j将罐子转换为Windows可执行文件。

我已经通过Inno Setup Script生成了一个Windows安装程序可执行文件,其中包含应用程序和一个jre

我已将安装程序下载到客户端Windows 8.1框。

我已经在客户端框上运行安装程序可执行文件。

在客户端机器上的安装目录下,我已经运行PowerShell的 PS1文件 ,在成功创建一个快捷方式(.lnk文件)我在Windows 8.1目录结构的应用程序:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\mycompanyname 

我的PowerShell PS1文件的内容是:

powershell Set-ExecutionPolicy RemoteSigned 

$TargetFile = "C:\Program Files (x86)\mycompanyname\myexecutablename.exe" 
$ShortcutFile = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\mycompanyname\mylinkname.lnk" 
$WScriptShell = New-Object -ComObject WScript.Shell 
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile) 
$Shortcut.TargetPath = $TargetFile 
$Shortcut.Save() 
"$TargetFile -NoLog -NoExit" 

我运行PowerShell的原因是编程创建快捷方式链接到我的应用程序,RA而不是让我的客户端用户浏览大量的Windows UI页面。

当我右键单击快捷方式并以管理员身份运行它时,我的应用程序图标按预期出现在SystemTray中。我可以右键单击该图标并选择我的各种选项,并且一切正常。

但是,当我注销并重新登录时,我的应用程序图标不会出现在SystemTray中。

如何让我的应用程序图标在我注销后出现在SystemTray中,然后重新登录?

此时我猜测我的powershell ps1不仅需要创建并保存我的快捷方式,而且还需要进行设置以便应用程序在用户登录时自动启动。

的最终目标是让我的应用程序的图标出现在的SystemTray到Windows 8.1箱用户登录,多以同样的方式后,对于WebRoot, Norton Security Suite, etc., do.

帮助应用程序图标,请。

+0

看看[这里](http://www.howtogeek.com/208224/how-to-add-programs-files-and-folders-to-system-startup-in-windows- 8.1 /) –

+0

你肯定不会考虑Windows服务(比如ie Tomcat)。服务可以一直运行,当用户登录时可以通过系统托盘联系。 –

回答

1

我会使用注册表和Run密钥。

更多细节seen here

如下所示Sample.reg。

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"MyApplication"="C:\\Program Files\\MyApplication\\1234567.exe" 
+0

该解决方案适用于我。谢谢!要解决的唯一问题是:当应用程序运行时,它显示某种窗口(可能是java控制台窗口,我不确定)。有没有办法自动最小化或自动隐藏窗口? – user1475484

+1

以下命令在Windows 8.1命令行上运行良好:'start/min/D c:\“程序文件(x86)”\ mycompanyname myappname.exe',但无法在HKCU \ software \ Microsoft \的Windows \ CurrentVersion \ Run中。 – user1475484

+0

在用户登录时自动启动我的应用程序而无任何烦人的窗口闪光的最终答案是从HKCU运行它:software/Microsoft/Windows/CurrentVersion /以wscript.exe身份运行c:“program files(x86)”\ mycompanyname \ invisible.vbs C:\“program files(x86)”\ mycompanyname \ startup.bat其中invisible.vbs看起来像CreateObject(“Wscript.Shell”)。运行“”“”&WScript.Arguments(0)&“” “”,0,False – user1475484