2012-04-27 15 views
5

Esistono funzioni che consentono di creare collegamenti in Windows proprio come è possibile creare collegamenti simbolici in Linux? Preferirei essere in grado di modificare cose come l'obiettivo e il nome, invece di dover ricreare un nuovo scorciatoia ogni volta che voglio cambiare qualcosa a causa di un aggiornamento.API di Windows (.lnk) per collegamenti?

Ho tentato di aprire un file .lnk in un editor di testo ed era un sacco di gobbelty gook. Mi chiedo perché è mezzo binario come scorciatoie su Linux sono come un file .ini, semplice e facile da usare. Temo che se riuscirò a sfogare i dati, potrei sconvolgere una sorta di checksum e la scorciatoia non funzionerà, ecco perché mi chiedo se ci sia un'API specifica che dovrebbe essere chiamata ad armeggiare con questi oggetti.

Aggiornamento: Ho trovato una funzione per interrogare i dati di scelta rapida MsiGetShortcutTarget()http://msdn.microsoft.com/en-us/library/windows/desktop/aa370299(v=vs.85).aspx, ma ancora nulla sulla creazione o modifica delle scorciatoie.

+1

'MsiGetShortcutTarget()' è per i file di collegamento di Windows Installer, non per i file di collegamento generali. Il documento a cui ti colleghi dice addirittura di usare 'IShellLink' per i file che' MsiGetShortcutTarget() 'non riesce a caricare. –

+0

In Windows, i collegamenti (o le scorciatoie) e i collegamenti simbolici della shell sono due cose diverse. Per creare un collegamento simbolico, utilizzare CreateSymbolicLink(). –

risposta

8

Vedere here per la documentazione MSDN sui collegamenti di shell.

+1

Sembra fastidioso creare scorciatoie ... Credo che sia tutto così però. – chris

+0

Si accede alla maggior parte delle cose nella shell di Windows tramite oggetti COM. –

Problemi correlati