Làm thế nào để bạn liên kết phần mở rộng tệp .exe với một chương trình trong Windows?


16

Vài năm trước tôi thấy ai đó chơi khăm ai đó bằng cách liên kết .exephần mở rộng tệp với Internet Explorer. Điều này làm cho Internet Explorer mở ra mỗi khi người đó muốn bắt đầu một chương trình.

Thật không may, tôi quên làm thế nào điều này đã được thực hiện. Tôi đã thử sử dụng Default Programs > Set Associationscông cụ Bảng điều khiển, nhưng nó không liệt kê .exe.

Làm thế nào người ta có thể thiết lập liên kết tệp này, và, có lẽ quan trọng hơn, làm thế nào người ta có thể bỏ đặt nó?


đó là một cuộc tìm kiếm virus hàng loạt trên google
RobotHumans

Câu trả lời:


20

Khi thực hiện "chơi khăm" như vậy, chỉ cần làm theo hướng dẫn từng bước hoặc tập lệnh bó là không đủ; tốt nhất nên biết điều gì đó về cách lưu trữ dữ liệu thực tế - việc khôi phục sau này trở nên dễ dàng hơn.

Tất cả các liên kết tệp được lưu trong Registry, có thể được chỉnh sửa bằng regedit hoặc reg . Shell tìm kiếm chúng ở dưới HKEY_CLASSES_ROOT, đó là một khung nhìn hợp nhất của HKEY_LOCAL_MACHINE\Software\Classes(toàn hệ thống) và HKEY_CURRENT_USER\Software\Classes(người dùng cục bộ).

  • [ HKEY_CLASS_ROOT]
    • [ .txt]
      • (mặc định) = " txtfile" - con trỏ tới một khóa khác trong HKCR
    • [ txtfile]
      • (mặc định) = " Text Document" - mô tả văn bản như được hiển thị trong Explorer
      • [ shell] - các hành động sử dụng cho nhấp đúp chuột và menu ngữ cảnh
        • (mặc định) = (không được đặt) - hành động sử dụng khi nhấp đúp; mặc định là " open"
        • [ open]
          • (mặc định) = (không được đặt) - nhãn hiển thị trong menu ngữ cảnh; mặc định là " Open"
          • [ command]
            • (mặc định) = " %SystemRoot%\system32\NOTEPAD.EXE %1"

Đối với hầu hết các tiện ích mở rộng, giá trị trỏ đến khóa loại tệp trong cùng HKCR; ví dụ, trỏ tới .HKCR\.extn\(Default).exeHKCR\exefile

(Tuy nhiên, trong một số trường hợp hiếm hoi, tất cả thông tin đều nằm dưới khóa của tiện ích mở rộng, có chứa phần mô tả. Tuy nhiên, những điều này dường như rất hiếm - có thể là phần còn lại của Windows 9x hoặc 3.x ...)HKCR\.extn\(Default)

Tạo bản sao lưu. reg save HKLM\Software\Classes hklm-classes.hivNgoài ra, hãy nhớ rằng Dấu nhắc Lệnh không quan tâm đến các tiện ích mở rộng; nếu bạn cố chạy một chương trình thực thi, nó sẽ luôn chạy bất kể nó được đặt tên như thế nào, hoặc phần mở rộng của nó được liên kết với cái gì.


1
Rõ ràng là xuất registry trước khi thực hiện bất kỳ thay đổi như thế này! :)
HaydnWVN

@HaydnWVN: reg savequan tâm đến điều đó (và cũng bao gồm siêu dữ liệu, reg exportsẽ bỏ qua).
dùng1686

Ah xin lỗi, đã trả lời trước khi chỉnh sửa sao lưu của bạn được đăng! ;)
HaydnWVN

1
Đừng quên rằng xem registry thô là một cách khó khăn để làm mọi thứ ở đây. Trình thông dịch lệnh đóng gói của Microsoft có FTYPEASSOCcác lệnh, và danh sách loại tệp cũng có thể truy cập được thông qua các hộp thoại trong Windows Explorer .
JdeBP

@JdeBP: AFAIK, Windows Vista đã loại bỏ trình chỉnh sửa trong Explorer - bây giờ nó chỉ chọn hành động mặc định. (Tuy nhiên, tôi chưa đào sâu hơn; vẫn sử dụng XP ở đây.) Ngoài ra, đồ họa regeditcho một cái nhìn tổng quan đẹp.
dùng1686

2

Thử đi:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.