Outil d'extraction.exe n'est pas situé là où il semble être?
Je viens d'acheter une nouvelle souris SteelSeries. J'essaie de programmer le bouton 6 pour lancer "Snippingtool.EXE".
Outil d'extraction.exe semble être situé à "C:windowssystem32SnippingTool .exe" ou du moins il apparaît dans l'explorateur Windows de cette façon.
Cependant, dans le sélecteur de fichiers pour SteelSeries Engine 3, ce dossier ne contient aucun fichier de ce type.
De plus, l'application "Tout" qui indexe le fichier NTFS le système affiche seulement deux extraits.Outil.fichiers exe, et ni l'un ni l'autre ne sont C:windowssystem32 . Au lieu de cela, il semble être situé à "C:WindowsWinSxSamd64_microsoft-windows-snippingtool-app_31bf3856ad364e35_10.0.17134.1_none_7f448e86f2cd59ccSnippingTool.exe" ainsi qu'un sous-dossier de"C:WindowsSoftwareDistributionDownload ". Le dossier de distribution de logiciels est probablement pour les fichiers temporaires, donc je suppose que le fichier dans le dossier WinSxS (Windows Side by Side) est celui qui est en fait lancer.
Ça devient encore plus bizzare. Si je lance SnippingTool.exe à partir du menu démarrer ou de l'emplacement system32 et regardez son emplacement du système de fichiers dans les détails du gestionnaire de tâches, il s'affiche "c:windowssystem32 ". Pendant ce temps, si j'attribue le bouton 6 à l'emplacement WinSxS, alors tenter de le lancer via le bouton 6 se concentre simplement sur l'instance en cours d'exécution de SnippingTool.exe, il semble donc penser que c'est la même application. Cependant, si je le lance avec le bouton 6 lorsque SnippingTool est pas déjà en cours d'exécution, je viens d'obtenir cette boîte de dialogue d'erreur vide, dont l'icône est l'icône de l'outil d'extraction:
Quelqu'un peut-il expliquer ce comportement bizarre, ou pourquoi un tel fichier ne semble que être situé à"c:windowssystem32 "? Sur la base de ces informations, où se trouve réellement le fichier? Je pensais que ce pourrait être un lien symbolique du système de fichiers, mais ni cmd.exe ou jonction64.exe (de Microsoft) indique qu'il a un tel attribut.
Windows semble aller vers beaucoup de mal à me faire croire que ce fichier existe à c:windowssystem32 et n'est pas une sorte de lien ou de jonction symbolique... il apparaît là-bas dans Explorer dans le cmd.liste des répertoires exe sans attributs spéciaux. Cependant, je ne peux pas réellement sélectionner le fichier dans un sélecteur de fichiers, et mon application "Tout" qui contourne Windows et analyse le système de fichiers NTFS dit qu'elle ne s'y trouve pas. Toutes les preuves de l'emplacement réel du fichier semblent contredire ce que Windows essaie de dire je.
Solution de contournementqui donne plus d'informations sur le problème
J'ai essayé de créer une application de console wrapper pour lancer le fichier à c:windowssystem32SnippingTool .exe, qui a échoué au début. Par exemple, si je crée une application de console C # qui appelle simplement System.Diagnostics.Process.Start("c:\windows\system32\SnippingTool.exe");
, une erreur se déclenche en disant "Le système ne peut pas trouver le fichier spécifié sur le système.Diagnostic.Processus.Commencez avec Shellexecuteex". Cela confirme donc l'idée que ce fichier ne se trouve pas réellement là où l'Explorateur le dit être. Coller le même chemin dans la boîte de dialogue WindowsKey + R (exécuter) fonctionne correctement. Donc, en quelque sorte Explorer, cmd.exe, les dialogues d'exécution de Windows conspirent tous pour agir comme si ce fichier existait, mais toute tentative d'accès direct au fichier révèle qu'il n'existe pas réellement.
Plutôt que de lancer le fichier directement, j'ai pu le lancer indirectement sans erreur en passant le chemin comme argument à l'explorateur.exe comme ça: System.Diagnostics.Process.Start(new ProcessStartInfo() { UseShellExecute = false, FileName = "c:\windows\explorer.exe", Arguments = "c:\windows\system32\SnippingTool.exe" });