2009-04-28 21 views
18

Tôi muốn telnet: // blah để mở putty và không phải là cửa sổ bản địa telnet client.Làm cách nào để thêm trình xử lý url tùy chỉnh trên Windows. Giống như iTunes itms: //

Tôi thậm chí không biết 'tính năng' này được gọi là gì dưới cửa sổ nên tôi không có may mắn tìm thấy bất kỳ thông tin nào về nó.

Cảm ơn trước, Jan

+0

Xem [tại đây] (http://blogs.msdn.com/b/noahc/archive/2006/10/19/register-a-custom-url-protocol-handler.aspx) để biết ví dụ. –

Trả lời

16

Nếu nó đơn giản, bạn có thể làm điều đó thông qua dòng lệnh:

ftype telnet # view current binding 
ftype telnet=\path\to\putty.exe %1 

Nếu không, bạn sẽ cần phải sử dụng registry như được đăng trước đó.

+0

Cảm ơn Richard, ftype trông giống như thứ. Tuy nhiên, khi tôi tạo một ràng buộc như: ftype ssh = c: \ putty% 1 Khi tôi thử và chạy 'ssh:' Tôi nhận 'Truy cập bị từ chối' ... –

+0

Tôi thấy rằng trong Vista tôi nhận 'Không tìm thấy tệp' tùy thuộc vào quyền quản trị người dùng và bật hoặc tắt UAC. http: và mailto: như giao thức không có vấn đề này –

+3

Thật không may, ftype trên dòng lệnh một mình sẽ cung cấp cho "truy cập bị từ chối". Bạn cũng cần thêm khóa "Giao thức URL" trống được liệt kê trong ví dụ đăng ký. Bài viết MSDN được liên kết bao gồm điều này. – studgeek

2

Để thay đổi telnet: xử lý giao thức (hoặc bất kỳ khác hiện handler) trên XP (có thể làm việc cho Vista - Tôi đã không nhìn), hãy vào Control Panel> Tùy chọn thư mục> Loại tệp (Tab). Cuộn xuống (không nhiều, nó ở gần đầu) để tìm (KHÔNG CÓ) URL: Giao thức Telnet và nhấn nút "Nâng cao". Từ đây trở đi, nó giống như thay đổi liên kết kiểu tệp. Lưu ý rằng ứng dụng đích cần hỗ trợ việc truyền URL được cung cấp dưới dạng tham số.

Thật không may, nút "Mới" dường như không cho phép tạo các loại "URL" mới, vì nó yêu cầu mục nhập của tiện ích mở rộng. Để tạo một cái mới, trước đây tôi đã phải sao chép một mục nhập hiện có từ sổ đăng ký (nghĩa là: tìm, xuất, chỉnh sửa trong trình soạn thảo văn bản và nhập lại).

12

Đó là khóa đăng ký cung cấp trình xử lý URI tùy chỉnh.

Here's an article on it on MSDN, trích dẫn một số của nó:

HKEY_CLASSES_ROOT 
    alert 
      (Default) = "URL:Alert Protocol" 
      URL Protocol = "" 
      DefaultIcon 
       (Default) = "alert.exe" 
      shell 
       open 
        command 
         (Default) = "C:\Program Files\Alert\alert.exe" "%1" 

đó bạn sẽ cho phép để làm

cảnh báo: một số thông điệp

Và ứng dụng của bạn rõ ràng sẽ nhận được "một số thông báo "làm đối số của nó.

+4

Điều này làm việc tuyệt vời, nhưng giao thức cũng được thông qua. Vì vậy, trong ví dụ của bạn, ứng dụng gửi "alert: some message".Mọi mẹo/suy nghĩ về cách loại bỏ cảnh báo: tắt trước khi ứng dụng nhận được thông báo? Tôi đã thử thay thế chuỗi như% 1: alert: =%, nhưng nó dường như không hoạt động. – studgeek

+0

[bài viết ngăn xếp ngăn xếp này] (http://stackoverflow.com/questions/23334946/cmd-batch-registry-string-replace-not-working-as-expected/23339563#23339563) có câu trả lời. – Air2

0

Bạn có thể sử dụng sau đây kịch bản: https://gist.github.com/sbiffi/11256316

Nó liên kết telnet: // và ssh: // URL cho một kịch bản mà phân tích các thông số trong URL và khởi chạy putty.

Không cần thay đổi putty Nó cũng hỗ trợ chuyển đăng nhập (và mật khẩu cho ssh).

Các vấn đề liên quan