如何在网络计算机上找到公共文档文件夹的名称

ros*_*mcm 5 delphi networking unc mapped-drive delphi-2006

鉴于我正在通过网络在计算机上执行EXE文件(D2006应用程序),我如何获取该计算机上commondocs文件夹的路径名,因为可能已从UNC快捷方式或映射的驱动器号调用EXE快捷方式,远程机器的平台不一定是已知的(但将是> = WinXP)?

在这种情况下,客户端拥有大量分散的计算机,并且他们无法在所有PC上安装我的应用程序.所以他们所做的就是在网络上的某个地方安装可执行文件,并为每个人提供快捷方式.这似乎已经很适合他们了,那里没有问题.

根据他们的要求,我让应用程序从与可执行文件放在同一文件夹中的INI文件中读取设置.我只能假设他们已经配置了所有用户可以写入该文件夹,以便可以保存INI文件.

但是,我想更改它以便读取INI文件并将其保存到远程计算机上的commondocs文件夹树中的某个位置,这样它们就不需要提供对Program files文件夹的写入权限.

Rob*_*edy 10

这就是机器运行您的程序是可以访问的唯一机器.存储程序的机器无关紧要.它只是一个磁盘驱动器.它可能没有运行Windows.它甚至可能是一个几乎不运行任何东西的NAS.

如果客户希望文件服务器的common-documents文件夹充当所有客户端系统上所有人的common-documents文件夹,则让sysadmin在服务器上配置共享文件夹,然后配置客户端以使用该远程文件夹文件夹作为common-documents文件夹.您无需特殊编程.

要获取程序运行的机器的common-documents文件夹,您可以调用各种AP​​I函数,包括ShGetFolderPath.您需要的CSIDLCSIDL_COMMON_DOCUMENTS.如果你打电话SHGetKnownFolderPath,请使用FOLDERID_PublicDocuments.