0

system32フォルダーの下にディレクトリを作成しようとしましたが、例外が表示されたりエラーが発生したりしません

管理者として実行することに注意してください

//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;
4

1 に答える 1

2

64 ビット Windows で 32 ビット プロセスを使用しています。したがって、ファイル システム リダイレクタの影響を受けます。これにより、32 のシステム ディレクトリにリダイレクトさsystem32れます。SysWOW64そこにディレクトリがあります。

次のオプションがあります。

  1. sysnativeエイリアスを使用して、64 ビット システム ディレクトリにアクセスします。
  2. コードを 64 ビット プロセスで実行します。
  3. ファイル システムのリダイレクトを無効にします。

ここでの最後のオプションは危険を伴うため、お勧めできません。

ドキュメントに詳細が記載されています: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187.aspx

もちろん、32 ビットのシステム ディレクトリへの書き込みは、まさにあなたがやりたいことであり、あなたはまだそれを実現していない可能性があります。

最後に、システムはシステムに属し、アプリケーションによって変更されるべきではないことを指摘しないのは私の怠慢です。

于 2014-11-11T10:52:35.830 に答える