2014-01-30 70 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

相關問題