AutoRun

AutoRun và tính năng đồng hành AutoPlay là các thành phần của hệ điều hành Microsoft Windows quyết định những hành động mà hệ thống thực hiện khi một ổ đĩa được kết nối.

AutoRun được giới thiệu trong Windows 95 để dễ dàng cài đặt ứng dụng cho người dùng không hiểu kỹ thuật và giảm chi phí cho các cuộc gọi hỗ trợ phần mềm. Khi một đĩa CD-ROM được cấu hình thích hợp được đưa vào ổ đĩa CD-ROM, Windows sẽ phát hiện sự xuất hiện và kiểm tra nội dung của một tập tin đặc biệt chứa một tập hợp các lệnh. Đối với phần mềm chứa CD, các hướng dẫn này thường bắt đầu cài đặt phần mềm từ đĩa CD-ROM vào ổ đĩa cứng. Để tối đa hóa khả năng cài đặt thành công, AutoRun cũng hoạt động khi ổ đĩa được truy cập ("nhấp đúp") trong Windows Explorer (hoặc "My Computer").

Trước khi có Windows XP, các từ AutoRun và AutoPlay được sử dụng thay thế cho nhau, các nhà phát triển thường sử dụng thuật ngữ AutoRun và người dùng cuối sử dụng thuật ngữ mới AutoPlay. Xu hướng này được phản ánh trong các thiết lập Windows Policy có tên AutoPlay, thay đổi các mục Windows Registry có tên là AutoRun, và trong tập tin autorun.inf làm cho "AutoPlay" được thêm vào menu ngữ cảnh của ổ đĩa. Thuật ngữ này ít quan trọng cho đến khi Windows XP xuất hiện và bổ sung tính năng mới để hỗ trợ người dùng chọn các hành động thích hợp khi phát hiện thấy thiết bị và phương tiện mới. Tính năng mới này được gọi là AutoPlay và kể từ đó hai thuật ngữ này có nghĩa khác nhau.

AutoRun, một tính năng của Windows Explorer (thực sự là của shell32.dll) được giới thiệu trong Windows 95, cho phép phương tiện và thiết bị khởi chạy chương trình bằng cách sử dụng lệnh được liệt kê trong một tệp có tên autorun.inf, được lưu trữ trong thư mục gốc của phương tiện.

Chủ yếu được sử dụng trên đĩa CD-ROM cài đặt, các ứng dụng thường được gọi là các chương trình cài đặt ứng dụng. Tệp autorun.inf cũng có thể chỉ định một biểu tượng sẽ đại diện cho thiết bị trực quan trong Explorer cùng với các tính năng nâng cao khác. Windows gọi đây là thông báo "cơ bản". Một cửa sổ cấp cao nhất là một cửa sổ con của màn hình nền.

Tuy nhiên, nếu thiết bị thay đổi không phải là một trong những loại ứng dụng này, một ứng dụng có thể gọi hàm RegisterDeviceNotification để đăng ký nhận thông báo thiết bị.

Thiết bị không có khối lượng là những thiết bị không xuất hiện dưới dạng ký tự ổ đĩa trong "My Computer". Chúng không được xử lý bởi bất kỳ phần nào của AutoRun - mọi hành động được thực hiện cho các thiết bị này được thực hiện bằng phần mềm thiết bị cụ thể hoặc bằng AutoPlay. Xem AutoPlayThiết bị không phải ổ đĩa.

Khi Explorer nhận được thông báo về thay đổi thiết bị, nó sẽ thực hiện một số tác vụ:
Kiểm tra xem nếu AutoRun đã bị vô hiệu hóa thông qua Registry. Nếu AutoRun bị vô hiệu hóa cho ổ đĩa hoặc loại ổ đĩa đó, Explorer sẽ không tiến hành thêm. Đã có các lỗi phần mềm trong phần này.
Kiểm tra xem thư mục gốc của phương tiện được chèn có chứa tệp autorun.inf có thể đọc được không. Xem bên dưới.
Gửi một tin nhắn QueryCancelAutoPlay đến cửa sổ nền trước. Một ứng dụng đã đăng ký quan tâm đến việc nhận tin nhắn này bằng cách sử dụng RegisterWindowMessage có thể trả lời tin nhắn này để tạm dừng AutoRun (và do đó tạm dừng AutoPlay) tại thời điểm này. Bất kỳ ứng dụng nào, có ở tiền cảnh hay không, cũng có thể được thông báo bằng cách sử dụng giao diện COM IQueryCancelAutoPlay có sẵn trong Windows XP và các phiên bản sau đó.
Khi người dùng nhấp đúp vào biểu tượng ổ đĩa trong Explorer hoặc nhấp chuột phải để có được menu ngữ cảnh, điều gì xảy ra hoàn toàn có thể lập trình được bằng các cài đặt trong tệp autorun.inf.
Thêm một biểu tượng điều khiển autorun.inf và văn bản mô tả vào biểu tượng ổ đĩa.
Kiểm tra xem the phím Shift có được giữ không. Nếu đó là sau đó Windows Vista (và sau này là phiên bản Windows) sẽ gọi hộp thoại AutoPlay bất kể cài đặt ngược lại. Các phiên bản trước của Windows sẽ không tiếp tục với quá trình này.
Cuối cùng, nếu đến được mục này, thực hiện một trong các hành động:
không thực hiện thêm hành động nào.
thực hiện nhiệm vụ của "AutoRun", ứng dụng được chỉ định tùy ý trong các khóa mở hoặc các phím xếp chồng trong phần [autorun] của autorun.inf.
gọi AutoPlay

Tham khảo