6
votes

Pourquoi la copie vers System32 copie automatiquement à SYSWOW64 à la place?

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?


1 commentaires

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.


3 Réponses :


5
votes

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: xxx


1 commentaires

Bien entendu, une autre solution est de construire votre application comme 64 bits. Ce qui est préférable dépend du contexte.



2
votes

Si vous souhaitez simplement vérifier le système d'exploitation, vérifiez-le et accédez au dossier System32, c'est comme: xxx

par ceci Vous pouvez copier le fichier dans le dossier System32. < P> Profitez: Ali Raza


0 commentaires

1
votes

Cette solution semble meilleure pour moi: Crédit à Bevan Collins. XXX


0 commentaires