2010-08-02 100 views
0

我的應用程序,這是任意計算機上寡婦XP/Vista/7的上任意帳戶(FE具有有限權限的用戶)的需求來打開另一個文件中包裹文件運行。它只能通過文件名打開這個嵌入文件,所以應用程序需要打開文件,將其作爲另一個文件存儲並打開。創建文件

我能做些什麼,以確保我有足夠的權限來創建文件和讀/寫呢? 有沒有什麼特別的地方可以存儲我的文件在這種情況下在Windows中。 我可以使用內存映射文件嗎? - 它們可以通過標準的IO操作(如OpenFile/ReadFile)讀取嗎?

感謝

+0

你能解釋一下,你的意思是「包裹文件」究竟是什麼意思? – Jaka 2010-08-02 06:39:57

+0

該文件是DICOM封裝的PDF。該文件有一些重要的數據存儲在「標籤」中,其中一個「標籤」包含PDF文件。我使用Adobe Reader ActiveX打開文件,我需要傳遞PDF文件的名稱才能打開它。 – bartek 2010-08-02 06:49:38

回答

1

用戶還應該能夠在%USERPROFILE%dir中寫入。該設計應始終存在。

但是,這是明顯不同的目錄爲每個用戶。

編輯: Windows API包括GetTempPath函數。它看起來在這些變量%TMP%,%TEMP%,%USERPROFILE% 如果它找不到任何東西,它會返回windows目錄。

1

你應該總是能夠在%TEMP%創建文件。

+0

臨時文件夾是否總是存在? – bartek 2010-08-02 06:43:05

+1

它不能存在,但在這種情況下,使用Windows API創建臨時文件的其他軟件也會遇到問題。 – Jaka 2010-08-02 07:21:28