在64位Vista或Win7,打开UAC时,IE9(32位)上的BHO读文件错误,读出的总是第一次时读出的文件内容。比如:char* file = "C:\Users\liu\AppData\Roaming\Microsoft\Internet Explorer\MIL\Print\print.cfg"
FILE *in = fopen(file,"r");如果第一次print.cfg内容为:
[print]
version=1.0.0待修改print.cfg为:
[print]
version=2.0.0
时。 读出的in总是为[print]\nversion=1.0.0
不过怎么修改print.cfg及其重启电脑,读出的值总是[print]\nversion=1.0.0。感觉像是从某个缓存位置读出的一样。补充:
1.使用GetPrivateProfileString读,会同样的错。
2.用Firefox的XPCOM,相当于IE的BHO,或自己写的exe程序,用同样的代码,不会出错。
3.关掉UAC就正常了。请各位大侠指教~