这有可能获得 SHARE .lnk 目标吗?

Is this possible to get a SHARE .lnk target?

我正在一家拥有 Windows 个 Web 服务器的企业中从事 php 项目。我的问题是我不知道如何使用 PHP 读取 SHARE .lnk 快捷方式的目标。

我可以像这样读取 .lnk 快照的目标:'C:\Users\LoL'。

但我无法像这样获取 .lnk 快捷方式的目标:'\\server\share\dir'。

你知道任何允许我读取此目标的 php 函数吗?

提前致谢!

我找到了解决我自己问题的方法。

我发现读取共享 .lnk 快捷方式的最佳解决方案是 COM 对象.

从 PHP 5.4.5 开始,COM 和 DOTNET 不再内置于 php 核心中。您必须在 php.ini:

中添加 COM 支持
[COM_DOT_NET]
extension=php_com_dotnet.dll

要在 PHP 中读取共享 .lnk 快捷方式的目标,您必须使用以下说明:

<?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";
?>

希望对您有所帮助。

我给了你一些对我有帮助的资源:

  • Class 'COM' not found
  • General approach to reading lnk files