回答編集履歴

4

追記・整理

2018/09/19 04:41

投稿

YAmaGNZ
YAmaGNZ

スコア10266

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ただどちらも「C:\Windows\System32\Macromed\Flash」配下のパスして返されるのがややこしいで
9
+ コマンドプロンプトでも、C:\windows\SysWOW64\cmd.exeを実行して「dir c:\windows\system32\macromed\flash」と実行すると、WOW64にリダイレクトされ
10
10
 
11
11
 
12
12
 

3

追記

2018/09/19 04:41

投稿

YAmaGNZ
YAmaGNZ

スコア10266

test CHANGED
@@ -13,3 +13,71 @@
13
13
  32ビットアプリで「C:\Windows\System32」にアクセスする場合「C:\Windows\sysnative」とすればアクセスできます。
14
14
 
15
15
  ただこのパスは64ビットアプリではエラーとなります。
16
+
17
+
18
+
19
+ DisableWow64RedirectionにてWOW64へのリダイレクトを無効に出来ます。
20
+
21
+ ```VB.NET
22
+
23
+ <DllImport("kernel32.dll", EntryPoint:="Wow64DisableWow64FsRedirection")>
24
+
25
+ Public Function DisableWow64Redirection(ByRef output As IntPtr) As Boolean
26
+
27
+ End Function
28
+
29
+
30
+
31
+ <DllImport("kernel32.dll", EntryPoint:="Wow64RevertWow64FsRedirection")>
32
+
33
+ Public Function RevertWow64Redirection(ByRef handle As IntPtr) As Boolean
34
+
35
+ End Function
36
+
37
+
38
+
39
+ Sub Main()
40
+
41
+ Dim path As String = "C:\Windows\System32\Macromed"
42
+
43
+
44
+
45
+ 'フォルダのパスよりファイル一覧を取得
46
+
47
+ Dim files As String()
48
+
49
+ Dim handle As IntPtr
50
+
51
+
52
+
53
+ 'WOW64へのリダイレクトを無効にする
54
+
55
+ DisableWow64Redirection(handle)
56
+
57
+ files = System.IO.Directory.GetFiles(path, "*", System.IO.SearchOption.AllDirectories)
58
+
59
+ 'WOW64へのリダイレクトを元に戻す
60
+
61
+ RevertWow64Redirection(handle)
62
+
63
+
64
+
65
+ '各ファイル名を出力
66
+
67
+ For Each MyFile In files
68
+
69
+ Console.WriteLine(MyFile)
70
+
71
+ Next
72
+
73
+
74
+
75
+ Console.ReadKey()
76
+
77
+
78
+
79
+ End Sub
80
+
81
+ ```
82
+
83
+ 上記ソースにて32ビットビルドでも64ビットビルドでもWindows\System32のファイルが列挙されました。

2

追記

2018/09/19 04:23

投稿

YAmaGNZ
YAmaGNZ

スコア10266

test CHANGED
@@ -7,3 +7,9 @@
7
7
 
8
8
 
9
9
  ただ、どちらも「C:\Windows\System32\Macromed\Flash」配下のパスとして返されるのがややこしいですね
10
+
11
+
12
+
13
+ 32ビットアプリで「C:\Windows\System32」にアクセスする場合「C:\Windows\sysnative」とすればアクセスできます。
14
+
15
+ ただこのパスは64ビットアプリではエラーとなります。

1

追記・変更

2018/09/19 03:21

投稿

YAmaGNZ
YAmaGNZ

スコア10266

test CHANGED
@@ -1,4 +1,4 @@
1
- 何故か分かりませんが、
1
+ 32ビットアプリの場合、C:\Windows\System32へのアクセスC:\Windows\SysWOW64にリダイレクトされるみたいですね
2
2
 
3
3
  x64ビルドを行うと、「C:\Windows\System32\Macromed\Flash」のファイルが列挙されます。
4
4