在 Java 7 中,是的。您可以根据需要将快捷方式指向c:\windows\system32\java.exe或javaw.exe,并包含与命令行上使用的相同参数。
在干净的 Java 8 安装中,这并不容易。不幸的是,Java 8 不再将副本java.exe和javaw.exe放入系统文件夹中,而是将符号链接放入 ProgramData 文件夹中。Windows 不喜欢符号链接的快捷方式;有时它们有效,有时则无效。(即使相同的快捷方式也可能适用于某些用户帐户,但不适用于其他用户帐户。)
(似乎如果你在 Java 7 之上安装 Java 8,它会保留旧的行为,但我还没有彻底调查这一点。)
这个简单的启动器可能很有用;您可以使用与 javaw.exe 快捷方式中使用的相同命令行参数创建一个或多个快捷方式。
#include <Windows.h>
void NoCRTMain(void)
{
    wchar_t * cmdline = GetCommandLineW();
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    GetStartupInfo(&si);
    if (!CreateProcess(L"C:\\ProgramData\\Oracle\\Java\\javapath\\javaw.exe", cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    {
        MessageBox(NULL, L"Unable to launch Java.", L"runjava.exe", MB_OK);
    }
    ExitProcess(0);
}
要在 Visual Studio 中进行编译,您需要更改一些项目设置:
(或者您可以将 main 函数从 NoCRTMain 更改为 WinMain,但随后您需要安装 C 运行时或静态链接它。)
另外:在 Windows 10 中,如果有两个“开始”菜单快捷方式指向同一可执行文件,则“开始”菜单中只能看到其中一个。因此,在这种情况下,您需要拥有启动器的多个副本,每个快捷方式一个。
| 归档时间: | 
 | 
| 查看次数: | 3191 次 | 
| 最近记录: |