1

このように System.IO.Directory.GetFiles() を使用する

string[] fileFullPaths1 = Directory.GetFiles(@"C:\Windows\System32", "mycompanyname.scr");
string[] fileFullPaths2 = Directory.GetFiles(@"C:\Windows\SysWOW64", "mycompanyname.scr");

次の 2 つのファイルが見つかりました。

  • C:\Windows\System32\mycompanyname.scr
  • C:\Windows\SysWOW64\mycompanyname.scr

Windows エクスプローラーは C:\Windows\System32 にあるものを認識できず、コマンド ライン ディレクトリも認識できません。さらに、MFT を検索する私自身のコードは、MFT に mycompanyname.scr のインスタンスが 1 つしかなく、その親ディレクトリ レコード番号が C:\Windows\SysWOW64 を指していることを示しています。問題。また、2 つのディレクトリのどちらもジャンクション ポイントではないことも確認しました。

誰かがこれがなぜなのか説明してもらえますか?

4

1 に答える 1

0

WOW64を意味しWindows-on-Windows 64-bitます。

SysWOW6432 ビット プログラムを配置するために使用されます。
System3264 ビット プログラムを配置するために使用されます。

32 ビット プログラムの場合、C:\Windows\System32は常に にリダイレクトされC:\Windows\SysWOW64ます。
64 ビット プログラムの場合、ファイルが存在しない場合C:\Windows\System32にリダイレクトされますC:\Windows\SysWOW64

プログラムを x86 に準拠させて再試行できます。

于 2014-05-15T10:19:10.870 に答える