System32ディレクトリ(Windows 7)のdllが存在するかどうかを確認します。しかし、それが存在するとしても、FileExists()はfalseを返します。 LoadLibraryは有効なハンドルを返します。 この場合、ファイルが存在するかどうかを確認してこの情報を視覚化したいだけです。 これを解決するためのヒントはありますか?FileExists()は、ファイルが存在していてもfalseを返します。
答えて
ほとんどの場合、これはファイルのリダイレクトになります。あなたは64ビットマシンを持っていますが、32デルファイプロセスからは、Windows\system32
は実際にWindows\Syswow64
にリダイレクトします。したがって、ファイルの存在をWindows\system32
に尋ねていると思うと、システムは実際にはファイルの存在(またはその他のもの)をWindows\Syswow64
に報告しています。
真の64ビットsystem32を見る必要がある場合は、ファイルのリダイレクトを無効にする必要があります。 Wow64DisableWow64FsRedirection()
機能でこれを行うことができます。 Wow64RevertWow64FsRedirection()
でそれを元に戻すことを忘れないでください。リダイレクタを無効にすると幅広い到達効果があり、非常に奇妙な動作になる可能性があるので注意してください。
これはもっと似ています。 (まあ、これといくつかのばかげたタイプミス、もちろん...) –
私はそれについて考えると、私は99%ですが、これは問題です。 +1、間違いなく。 –
はい、これはおそらくこれに当てはまりますが、これまでと同じようなことがありました。私の総司令官は、リダイレクトされたフォルダも表示しました。そこ)。とにかくTCサイトをチェックしたところ、64ビットのベータ版があります。 – balazs
あなたが使用しているコードは助けになるかもしれませんが、これは64ビットの問題であり、実際にはDLLはSysWOW64フォルダにありますか?この仕組みの詳細については、hereを参照してください。
もちろん、ここでも+1です。 –
FileExists
コールでは、ファイルの完全または有効な相対パスを指定することはほとんどありません。 LoadLibrary
は、特定の場所(dllが存在すると予想される場所)を検索しますが、FileExists
は検索しません。完全で正確なパスを指定すると、FileExists
が正しく動作します。
- 1. Powerbuilder 12.5 iniファイルのFileexistsは存在するファイルに対してfalseを返します
- 2. TryGetValueは、キーが存在してもfalseを返します。
- 3. キーが存在していてもTDictionary.ContainsKeyがfalseを返す
- 4. file_exists()はファイルが存在してもfalseを返します。(リモートURL)
- 5. file_exists()はfalseを返しますが、ファイルが存在します。
- 6. 私のLinuxにファイルが存在していてもphp file_existsがfalseを返しています
- 7. 文字列が存在しても、JavaのString contains()はfalseを返します。
- 8. ファイルが存在する場合でもJava Files.exists()はfalseを返します
- 9. ファイルが存在すると、File.exists()はfalseを返します。
- 10. file_exists()は、存在するパスに対してもfalseを返します。
- 11. asp fileExistsは常にfalseを返します
- 12. プロパティは存在しますが、property_exists()はfalseを返します。
- 13. java HashMap containsKeyはキーが存在するのにfalseを返しています
- 14. File.Existsはファイルが存在しなくても常にtrueを返します
- 15. os.path.isdir()はフォルダが存在する場合でもFalseを返します
- 16. ファイルが存在する場合はそれを返し、そうでない場合はfalseを返します。
- 17. jQuery - クラスが存在し、true/falseを返します
- 18. URLが存在しますが、SPSite.Exists(url)はfalseを返します。
- 19. File.Existsが存在しないファイルに対してtrueを返す
- 20. Tensorflow:tf.gfile.ExistとEnv :: FileExistsは、空のファイル名でTrueを返します
- 21. Imagejpegは偽を返しますがファイルが存在します
- 22. HTMLアンカーでfalseが返ってもfalseを返さない
- 23. Rails File.exist?ファイルが存在するときにfalseを返す
- 24. resultSet.next()は、テーブルにデータが格納されていてもfalseを返します。
- 25. ファイルが存在してもstat()が-1を返す理由[RHEL 7.2]
- 26. Javascript - getElementById()は、要素が存在してもnullを返します。
- 27. TrySetWallpaperImageAsyncは、アプリケーションLocalFolderを使用していても常にfalseを返します
- 28. realmDBにデータが存在していてもwhere句が0を返す
- 29. fileExistsAtPath:存在するファイルに対してNOを返します。
- 30. テーブルは存在しませんが、存在しています
私は "権限"の問題を推測しています。 Vista/Windows 7は、人々が\ windowsの周りにうんざりさせることについて非常に守っています:) – paulsm4
@ paulsm4:いいえ、それはできません。 Windowsでは、ファイルが存在するかどうかを常に確認できます。 –