Можно ли получить цель SHARE .lnk?

Я работаю над php-проектом в сотрудничестве с некоторыми веб-серверами Windows. Моя проблема в том, что я не знаю, как прочитать цель ярлыка SHARE .lnk с помощью PHP.

Я могу прочитать цель выстрела.lnk, например: "C:\Users\LoL".

Но я не могу получить цель для.lnk shotcut вроде этого: '\\server\share\dir'.

Знаете ли вы какую-либо функцию php, которая позволяет мне читать эту цель?

Заранее спасибо!

1 ответ

Решение

Я нашел решение своей проблемы.

Лучшее решение, которое я нашел для чтения ярлыка общего ресурса.lnk с такой целью как ''\server\share'', - это объект COM.

В PHP 5.4.5 COM и DOTNET больше не встроены в ядро ​​php. Вы должны добавить поддержку COM в php.ini:

[COM_DOT_NET]
extension=php_com_dotnet.dll

Чтобы прочитать цель ярлыка общего ресурса.lnk в PHP, вы должны использовать следующие инструкции:

<?php

    // create the object
    $wsh = new COM('WScript.Shell');

    // $wsh->CreateShortcut method READS, if the file already exists. 
    $lnk=$wsh->CreateShortcut('ShortcutPath.lnk');

    // show the target
    echo $lnk->TargetPath,"\n";
?>

Я надеюсь, что это поможет вам.

Я приведу несколько источников, которые мне помогли:

Другие вопросы по тегам