mon*_*bre 2 delphi windows-vista
我有一个应用程序,它将数据(original.dat)存储到文件夹C:\ ProgramData(我使用带有CSIDL的CSIDL的SHGetFolderPath()来访问该文件夹)
它还需要使用参数c:\ program files\myname\appname\myexecute.exe original.dat outputfile.dat调用命令行执行文件(myexecute.exe)(outputfile.dat将在C:\ ProgramData中)它工作了在xp上,但它在vista上报告错误'访问被拒绝'.它看起来好像是在文件夹中创建outputfile.dat.
欢迎任何评论
谢谢
渣
CSIDL_COMMON_APPDATA适用于所有用户,并且由于UAC而无法为非管理员用户写入.在安装过程中,它对管理员来说是可写的,但之后不应该使用.
您应该使用CSIDL_APPDATA代替当前用户的数据.