Zamierzam użyć problemu, który mam z aplikacją Java, aby wyjaśnić moje pytanie jako przykład, ale to pytanie nie ma nic wspólnego z Javą.Skrót Windows do dowiązania symbolicznego do pliku wykonywalnego
Używam systemu Windows 7 (64-bitowego) i chcę utworzyć skrót do menu Start, aby uruchomić aplikację Java w interfejsie GUI. Jak Java 8, instalator umieszcza NTFS linki symboliczne w dobrze znanym miejscem skierowaną do uwalniania specyficznych (tj podlega częstym zmianom) katalog:
C:\>where javaw
C:\ProgramData\Oracle\Java\javapath\javaw.exe
C:\>dir C:\ProgramData\Oracle\Java\javapath\javaw.exe
Volume in drive C is OS
Volume Serial Number is D4DC-33AF
Directory of C:\ProgramData\Oracle\Java\javapath
05/03/2015 15:40 <SYMLINK> javaw.exe [C:\Program Files\Java\jre1.8.0_40\bin\javaw.exe]
utworzonego skrótu, którego cel wiersz poleceń było C: \ ProgramData \ Oracle \ Java \ javapath \ javaw.exe java_app.jar, ale kiedy go uruchomię, Windows mówi, że ścieżka javaw.exe nie istnieje. Mogę pomyślnie uruchomić tę samą linię poleceń z okna dialogowego Uruchom Windows; po prostu nie ze skrótu. Czy ktoś może zaoferować rozwiązanie? (Wolę nie tworzyć pliku wsadowego, aby uruchomić polecenie, ponieważ utworzyłoby to bezużyteczne pole konsoli).
(UWAGA: Można również zobaczyć ten sam problem bez korzystania z Javy. Wystarczy utworzyć dowiązanie symboliczne do Notepad.exe (za pomocą polecenia MKLINK), a następnie spróbuj utworzyć skrót do dowiązania symbolicznego.)
Tylko skróty? Podwójne kliknięcie bezpośrednio nigdy nie działało dla mnie, przynajmniej nie w Vista lub Windows 7. To jest coś dziwnego w tym, jak API "ShellExecute" jest wywoływane przez Explorera i innych. Aby obejść ten problem, można utworzyć program uruchamiający inny niż konsola, który wywołuje funkcję 'CreateProcess' i kończy działanie. – eryksun
Dzięki, eryksun, to jest dobry punkt o podwójnym kliknięciu, który również ma ten problem. O dziwo, uruchomienie tego samego dowiązania symbolicznego z pola uruchamiania systemu działa dobrze, nawet jeśli jest to również Explorer, który też to uruchamia. Twoja propozycja napisania launchera jest prawdopodobnie najlepszym rozwiązaniem. –
Czy to rozwiązano? W ubiegłym roku miałem dokładnie ten sam problem i nie mam go dzisiaj.Nie wiem dokładnie, co się zmieniło, jak to naprawiłem lub czy była to konkretna aktualizacja Windows Update, która to naprawiła. Ale jestem w stanie użyć skrótu cel 'C: \ ProgramData \ Oracle \ Java \ javapath \ javaw.exe -Xmx1G -jar" C: \ Program Files \ MyApp \ myapp.jar ". Stworzyłem skrót na pulpicie, a następnie przypięto do paska zadań. Po każdej aktualizacji, dowiązanie symboliczne jest manipulowane przez instalator Java i muszę ręcznie odtworzyć skrót. Nie można go zaktualizować, ponieważ ścieżka nie uległa zmianie, ale nie będzie działać inaczej. – user314159