2014-03-07 60 views
0

我希望在我的網站上有一個鏈接或按鈕,在本地計算機上的特定文件(例如,myfile.txt)上啓動
vim(編輯器)。
我想從任何瀏覽器的C:\ Users \ paulco \ myfile.txt啓動C:\ Vim \ Vim74 \ gvim.exe。
從瀏覽器中啓動應用程序

我希望這可以在所有(實際上大多數)瀏覽器上工作。
我主動使用Chrome,Opera,FireFox和IE(按照優先順序)。
爲了讓它能夠在所有這些瀏覽器上運行,我認爲腳本必須基於Java。

有誰知道如何做到這一點?
有沒有人有這樣做的基於Java的腳本?

以下是我在該主題上找到的一些資源。
但無論他們是特定於IE還是不工作。
Launch application from a browser
http://msdn.microsoft.com/en-us/library/aa767914%28VS.85%29.aspx

+0

所以你有什麼嘗試? – Orlo

回答

1

我已經測試的IE瀏覽器,瀏覽器,Opera和Firefox以下。

瀏覽器必須在Windows操作系統上運行,Linux和Mac需要不同的方法。

解決方案是爲自定義協議定義protocol handler

1)取本HTML例子,它應該使用的notepad.exe打開指定的文本文件:

<a href="test:c:\temp\file.txt">Open Textfile</a> 

2)您需要定義在Windows註冊表中的協議處理程序,保存以下的文件命名testing.reg並執行它(雙擊它),或輸入值使用註冊表編輯器手動:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\test] 
@="URL:Editor test" 
"URL Protocol"=hex(2):00,00 

[HKEY_CLASSES_ROOT\test\DefaultIcon] 
@="\"C:\\Windows\\system32\\notepad.exe\"" 

[HKEY_CLASSES_ROOT\test\shell] 

[HKEY_CLASSES_ROOT\test\shell\open] 

[HKEY_CLASSES_ROOT\test\shell\open\command] 
@="\"C:\\temp\\editor.bat\" %1" 

3)如你所見,我不是要求的notepad.exe直接,但c:\temp\editor.bat批處理文件。這是因爲必須修改文件參數。使用%1作爲參數將傳遞完整的URL,包括test:自定義協議名稱到shell。在腳本中,我使用一個簡單的子串模式來提取指定的文件名並調用編輯器:

REM editor.bat 
set param=%1 
notepad %param:~5% 

就這樣!

+0

我試過你的解決方案,它幾乎可行! 當我從Chrome,Opera,FireFox和IE試用它時,我得到了相同的結果: 記事本打開,但打開了錯誤的文件。例如,當我使用安裝在C:\ Opera \ 中的Opera(在Windows 7上)時,發生以下情況:當我將鼠標懸停在鏈接上時,顯示:「test:c:\ temp \ file.txt」 但是,當我點擊鏈接時,記事本顯示文件的路徑爲:「C:\ Opera \ test:c:\ temp \ file.txt」 不知道爲什麼它包含Opera可執行文件的路徑。我嘗試修改蝙蝠腳本以包含notepad.exe的完整路徑,但這並不起作用。 – user3145909

+0

有趣的是,你正在使用什麼版本的Windows?如果我找到一些時間,我會深入研究一下。但無論如何,你可以從瀏覽器的鏈接調用批處理腳本 - 我期待更多的熱情! ;-) –

+0

我正在使用Windows 7 Professional。是的,我很興奮,它幾乎可以工作。你太親密了,我可以品嚐它! WOOOO HOOOO!那足夠的熱情! :-) – user3145909

相關問題