我试图在system32文件夹下创建dir但没有异常显示或错误
注意,我以管理员的身份运行它
//1
if not TDirectory.Exists('C:WindowsSystem32oobeinfo') then
TDirectory.CreateDirectory('C:WindowsSystem32oobeinfo');
//2
if not DirectoryExists('C:WindowsSystem32oobeinfo') then
CreateDir('C:WindowsSystem32oobeinfo');
//3
try
ForceDirectories('C:WindowsSystem32oobeinfo');
except
ShowMessage('cant create it');
end;
您在64位Windows上有一个32位进程。因此,您受文件系统重定向程序的约束。这会将system32
重定向到作为32系统目录的SysWOW64
。你可以在那里找到你的目录。
您有以下选项:
- 使用
sysnative
别名访问64位系统目录 - 在64位进程中运行代码
- 禁用文件系统重定向
这里的最后一个选择充满了危险,不值得推荐。
该文档提供了详细信息:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187.aspx
当然,写入32位系统目录正是你想要做的事情,但你还没有意识到这一点,这是有道理的。
最后,如果我不指出这个系统属于系统,不应该被应用程序修改,那就太失职了。