Πώς γνωρίζει ο διάλογος εκτέλεσης πού βρίσκονται οι εφαρμογές;

how-does-the-run-dialog-know-where-applications-are photo 1

Το Run Dialog μπορεί να χρησιμεύσει ως ένας εύκολος και πολύ χρήσιμος τρόπος για να ανοίξετε προγράμματα στον υπολογιστή σας, αλλά πώς ακριβώς γνωρίζει πού βρίσκονται αυτές οι εφαρμογές στο σύστημά σας; Η σημερινή ανάρτηση του SuperUser Q&A έχει την απάντηση στην ερώτηση ενός περίεργου αναγνώστη.

Η σημερινή συνεδρία Ερωτήσεων και Απαντήσεων έρχεται σε εμάς με την ευγενική προσφορά του SuperUser—μια υποδιαίρεση του Stack Exchange, μιας ομαδοποίησης ιστοτόπων Q&A που βασίζεται στην κοινότητα.



Το ερώτημα

Το πρόγραμμα ανάγνωσης SuperUser mt025 θέλει να μάθει πώς το Run Dialog γνωρίζει πού βρίσκονται οι εφαρμογές που δεν βρίσκονται στη PATH του συστήματος των Windows:

Ως ενεργός χρήστης, χρησιμοποιώ συχνά το παράθυρο διαλόγου 'Εκτέλεση'. Μπορώ να καταλάβω γιατί λειτουργούν οι ακόλουθες εντολές, καθώς βρίσκονται στη μεταβλητή περιβάλλοντος PATH.

  • mspaint
  • diskmgmt.msc
  • εξερευνητής

Αυτές οι εντολές λειτουργούν και σε CMD.

Οι παρακάτω εντολές λειτουργούν στο παράθυρο διαλόγου εκτέλεσης, αλλά δεν βρίσκονται στη μεταβλητή περιβάλλοντος PATH και δεν λειτουργούν στο CMD.

  • firefox
  • winword
  • εξερευνώ

Πώς ξέρει το Run πού βρίσκονται αυτά τα αρχεία;

Η απάντηση

Ο συνεργάτης του SuperUser w32sh έχει την απάντηση για εμάς:

Όταν εκτελείτε μια εντολή από το παράθυρο διαλόγου 'Εκτέλεση', το σύστημα εξετάζει τα κλειδιά μητρώου 'Διαδρομές εφαρμογής' εδώ:

  • HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionΔιαδρομές εφαρμογών

και

  • HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths

Παράδειγμα

  • HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionApp Pathsfilezilla.exe

Τα δεδομένα τιμής (προεπιλογή) έχουν την πλήρη διαδρομή προς το εκτελέσιμο αρχείο. Εάν δεν βρεθεί, εξετάζει κάθε φάκελο που περιλαμβάνεται στο PATH, ενώ το CMD (η γραμμή εντολών) δεν αναφέρεται σε αυτά τα κλειδιά μητρώου, αναζητά μόνο το PATH.