J'essaie de copier un fichier sur C: \ Windows \ System32 en appelant CopyFilea - Le débogage montre que la chaîne "C: \ Windows \ System32 \ FileName" est envoyée à CopyFilea, mais mon fichier est copié sur " C: \ Windows \ System32 \ sswow64 \ nom de fichier "à la place. Est-ce que quelqu'un sait pourquoi cela se passe-t-il? P>
3 Réponses :
On 64 bits Windows, Windows effectue une redirection de systèmes de fichiers pour des processus 32bits. Pour désactiver, appelez WOW64DISABLEWOW64FSREDIRection
Pour que l'application fonctionne également sur 32 bits Windows XP, Wow64Disablewow64Fsredirection doit être liée de manière dynamique au moment de l'exécution.
Voici le code que j'utilise: p>
Bien entendu, une autre solution est de construire votre application comme 64 bits. Ce qui est préférable dépend du contexte.
Si vous souhaitez simplement vérifier le système d'exploitation, vérifiez-le et accédez au dossier System32, c'est comme: par ceci Vous pouvez copier le fichier dans le dossier System32. P> < P> Profitez:
Ali Raza P> P>
Cette solution semble meilleure pour moi:
Crédit à Bevan Collins.
1. Vous ne devriez probablement pas copier des fichiers là-bas de toute façon. 2. Il s'agit probablement d'une redirection pour les applications 32 bits, afin de prévenir les DLL 32 bits à partir du système 64 bits32.