2010-08-02 89 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