Rya*_*ela 5 logging windows-xp special-folders windows-vista windows-7
我有一个需要写出日志的winforms应用程序.该应用程序还需要在没有UAC警告和使用非管理员帐户的情况下运行.
在不违反默认安全设置的情况下,我可以在哪里编写日志?此外,这必须适用于Windows XP,Vista和7.
如果所有用户都可以写入同一组日志文件,则为额外点.
你不能(不应该)对路径进行硬编码.而是通过调用SHGetFolderPath来询问Windows在哪里存储它,该SHGetFolderPath可用于返回当前用户(或所有用户)AppData目录的位置.
MSDN文章,使用C解决方案:http: //support.microsoft.com/kb/310294
有用的Delphi示例:http: //delphi.about.com/od/kbwinshell/a/SHGetFolderPath.htm
请注意,对路径执行一次性查询,转换为绝对字符串并将其存储在您的设置中是危险的.因为Windows可以改变它.他们可以加入域,升级窗口等,Windows可能确实会移动你的文件.如果你然后指向旧位置,而不再询问"这个文件夹在哪里",你就会中断.去过也做过...
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |