Mọi người cho mình hỏi một chút ạ. Chả là mình thấy trong máy tính có các file được định dạng như sau:
- File ảnh: *.bmp, *.jpg, *.gif, ...
- File văn bản: *.doc, *.txt, ...
...
Khi ta mở mấy loại file đó thì nó sẽ tự động chạy một chương trình tương ứng với nó. VD:
- *.txt thì nó chạy notepad
- *.doc thì nó chạy MsWord.
- *.jpg thì nó chạy Window Photo Viewer
...
Vậy cho mình hỏi là nếu giờ mình tạo ra một file NAME.xxx và 1 chương trình YYYY.exe làm thế nào để mỗi khi mình mở NAME.xxx thì nó sẽ tự động chạy chương trình YYYY.exe ạ
Học viết Powersell Script.
Vài tháng cho thong thả
Vài năm cũng chẳng sao
Mần chi phải vội
mỗi khi mình mở NAME.xxx thì nó sẽ tự động chạy chương trình YYYY.exe bao gồm 2 điều kiện chung :
1. Chương trình YYYY.exe phải được cấu hình trong Windows Shell, rõ hơn là nó được liên kết registry một số khóa nằm trong HKEY_CLASSES_ROOT.
2. Chương trình YYYY.exe phải xử lý tham số dòng lệnh để lấy tên tập tin và xử lý theo logic của nó.
Có những hoạch định lâu dài; có những công việc cận kề.
Các mẹo vặt cho bước 1 như sau:
a. Mở trình soạn thảo Registry Editor của Windows
b. RightClick lên khóa : HKEY_CLASSES_ROOT trong Treeview bên trái => New => Key
c. RE sẽ tạo ra một khóa mới và chờ chúng ta thay đổi tên cho nó. Chúng ta đặt tên cho khóa này là .xxx (đây là đuôi mở rộng ở trên chủ top đề cập).
d. RightClick lên (Default) trong Listview bên phải => Modify.... Trong hộp thoại, ở phần Value data, nhập vào chuỗi xxxFile. Đặt tên khác cũng không sao nhưng phải đồng bộ với các bước kế tiếp.
e. RightClick lên khóa : HKEY_CLASSES_ROOT trong Treeview bên trái => New => Key
f. Đặt tên cho khóa mới là xxxFile (giống chuỗi ở bước d).
g. RightClick lên khóa xxxFile, chọn và tạo ra khóa con có tên shell (phải dùng tên này).
h. RightClick lên khóa shell, chọn và tạo khóa con có tên open (phải dùng tên này).
i. RightClick lên khóa open, chọn và tạo khóa con có tên command (phải dùng tên này).
j. Chọn khóa command. Bên Listview chúng ta RightClick lên (Default) => Modify....
k. Trong hộp thoại, ở phần Value data, nhập vào chuỗi đường dẫn chương trình cùng tùy chọn dòng lệnh ví dụ :
"D:\MyProgams\YYYY.exe" "%1"
. lưu ý nhớ đặt tên chương trình trong cặp dấu nháy, tới khoảng trống, rồi tới ký hiệu thay thế cũng trong dấu nháy.
. "%1" ở đây có nghĩa là tập tin đi kèm sẽ được chuyển vào YYYY.exe thông qua tham số thứ nhất trong mảng tham số. Và đây là lý do tại sao YYYY.exe phải có cơ chế tiếp nhận và xử lý tham số đầu vào. Nếu không thì YYYY.exe cũng vẫn được gọi nhưng nó chẳng biết đang xử lý tập tin nào.
Chúng ta hoàn toàn có thể viết chương trình tự động làm các bước trên...
Hứng thú thì xem #11
http://diendan.congdongcviet.com/threads/t401853::nhap-xuat-tieng-viet-trong-console-cmd-exe.cpp/page2/
minh họa, đính kèm toàn bộ mã nguồn và exec