В настоящее время я использую Win32ShellFolderManager2 и ShellFolder.getLinkLocation для разрешения быстрых клавиш Windows на Java. К сожалению, если программа Java работает как служба под Vista, getLinkLocation, это не сработает. В частности, я получаю исключение, в котором говорится: "Не удалось получить список идентификаторов оболочки".
Поиск в Интернете приводит к упоминанию этого сообщения об ошибке, но всегда в связи с JFileChooser. Я не использую JFileChooser, мне просто нужно разрешить файл .lnk в пункт назначения.
Кто-нибудь знает о стороннем парсере для файлов .lnk, написанных на Java, которые я мог бы использовать?
С тех пор я нашел неофициальную документацию для формата .lnk здесь, но я бы предпочел не выполнять эту работу, если кто-либо имеет сделал это раньше, так как формат довольно страшный.