我试图在system32文件夹下创建dir 但没有例外显示或错误
请注意我以管理员身份运行
//1
if not TDirectory.Exists('C:\Windows\System32\oobe\info') then
TDirectory.CreateDirectory('C:\Windows\System32\oobe\info');
//2
if not DirectoryExists('C:\Windows\System32\oobe\info') then
CreateDir('C:\Windows\System32\oobe\info');
//3
try
ForceDirectories('C:\Windows\System32\oobe\info');
except
ShowMessage('cant create it');
end;
答案 0 :(得分:2)
在64位Windows上有32位进程。因此,您受文件系统重定向器的约束。这会将system32
重定向到SysWOW64
,这是32系统目录。您可以在那里找到您的目录。
您有以下选择:
sysnative
别名访问64位系统目录。 这里的最后选择充满危险,不建议使用。
文档提供了详细信息:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187.aspx
当然,写入32位系统目录正是您想要做的事情并且您还没有意识到这一点,这似乎是合理的。
最后,如果不指出系统属于系统并且不应该被应用程序修改,那将是我的疏忽。