2014-01-30 71 views
1

我从访问COM对象文件时遇到问题:COM对象可以使用文件夹以外的文件吗?

我使用第三方软件触发可以由VB脚本处理的事件。我使用脚本来处理这些事件之一。在脚本中,我调用我自己的C#COM对象方法来完成一些工作。该方法尝试从磁盘读取一些文件,但由于无法找到这些文件而失败。我很确定这些路径是正确的。

看来,COM对象没有权限访问同一目录下的文件以外的文件。

有没有(适当的)方法来做到这一点?

+1

听起来不对。你在滥用相关路径吗? – SLaks

+0

你是什么意思? – user3254396

+1

相对路径与绝对路径相反,如“c:\ foo \ bar \ baz.txt”。 “baz.txt”或“.. \ bar \ baz.txt”或“\ foo \ bar \ baz.txt”是相对路径。相对路径从不在COM服务器中工作,您不能依赖当前驱动器和目录被设置在任何可预测的位置。 –

回答

1

COM进程作为你配置它们运行的​​身份运行。这些身份在文件系统上具有可配置权限,就像任何其他用户或Windows安全上下文一样。您可以通过打开组件服务MMC管理单元,深入到组件,右键单击它,选择属性并选择“标识”选项卡来控制组件运行的用户。我附上了一张照片。

Component Services

相关问题