2016-09-19 107 views
0

我創建了一個批處理文件,打開相對鏈接。它工作的很好,但我更願意將它更改爲帶有圖標的可執行文件。下面是膳食Master.bat代碼:遵守簡單的批處理文件,以exe無法正常工作

"code\index.html" 

這裏是我的目錄:

Meal Master 
    Meal Master.bat 
    code 
     index.html 
     style.css 
     (other files for the offline website) 

我用這個鏈接作爲教程:http://hintdesk.com/how-to-create-relative-shortcut-to-exe-file-with-icon/

批處理文件完美打開默認瀏覽器的離線網站。但是,一旦我按照教程製作了exe文件,就會彈出一個小窗口並提示「錯誤!發生未知錯誤,程序將終止。」

我該如何製作一個可運行的exe或相關快捷方式(或帶有圖標的任何類型的文件)?

+0

更新:出於某種原因,它在我選擇「可見應用程序」時不起作用,並且不在編譯器中使用圖標。 –

+2

Bat-to-Exe轉換器是垃圾,從不使用它們。 – SomethingDark

+0

是的,我同意。有沒有其他方法可以做到這一點?我只想要一個文件,您可以雙擊打開我的相對鏈接,並帶有圖標。 –

回答

0

好吧!這有點棘手,因爲我必須隨機更改bat-to-exe轉換器中的選項。不要使用圖標,並使其可見。之後,使用Resource Hacker(http://download.cnet.com/Resource-Hacker/3000-2352_4-10178587.html)之類的東西。操作>添加新資源。選擇您的圖標,並將資源名稱更改爲圖標。而已!有用。

0

在桌面上創建文件文本文件RunFile.vb

將其粘貼到它。

Imports System 
Imports System.Runtime.InteropServices 
Imports Microsoft.Win32 

Public Module MyApplication 


Sub Main() 
    Dim X as Object 
    X = CreateObject("wscript.shell") 
    X.Run("c:\windows\notepad.exe") 
End Sub 
End Module 

製作節目類型此

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:winexe /out:"%userprofile%\desktop\RunFile.exe" "%userprofile%\desktop\RunFile.vb" /verbose 

X.Run可以是任何東西,你可以鍵入開始運行對話框(WINKEY + R)

幫助窗口查找程序和文檔

可以將程序和文檔添加到註冊表中,以便在不使用路徑的情況下輸入其名稱在「開始 - 運行」對話框或快捷方式中,Windows將找到它們。

這是一個通用的reg文件。將下面的行復制到一個新的文本文檔並將其保存爲anyname.reg。用您的程序或文檔編輯它。

在路徑中使用\來分隔鍵路徑中的文件夾名稱,因爲註冊表使用單個\來分隔鍵名稱。所有reg文件都以REGEDIT4開頭。分號將一行變成註釋。 @符號表示將值分配給鍵而不是命名值。

該文件不一定存在。這可以用來設置Word.exe來打開Winword.exe。 或者通過註冊一個不存在的website.exe來指向website.html,只需輸入網站即可打開website.html。

此示例將IE.Txt(從IE5)添加到註冊表,因此鍵入IE.Txt將打開它。我認爲該文件在IE4中被稱爲IE4.txt。 REGEDIT4 ;下面的粗體名稱是文檔或程序的名稱。

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\IE.txt] 

;The @ means the path to the file is assigned to the default value for the key. 
;The whole path in enclosed in a quotation mark ". 

@="\"C:\\Program Files\\Internet Explorer\\IE.txt\"" 

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry 

;Informs the shell that the program accepts URLs. 

;"useURL"="1" 

;Sets the path that a program will use as its' default directory. This is commented out. 

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\" 
+0

這對於絕對位置非常適用,它可以與Resource Hacker共享一個圖標。但是,我在尋找相對位置(除非我錯過了X.Run值)。不管怎麼說,還是要謝謝你。 –

+0

它也會相對路徑。但相對路徑依賴於配置。它取決於控制檯/ GUI,它的啓動方式和文件夾結構,因此在我的計算機上運行的示例代碼可能無法在您的系統上運行。 – 2016-09-20 01:07:07

+0

即使我的完全合格的路徑也不能在Win NT4升級的計算機上工作,因爲Windows目錄被稱爲WinNT(並且它在升級過程中保留NT4名稱)。我應該指定'%windir%\ system32 \ notepad.exe',它可以運行所有版本的Windows。 – 2016-09-20 01:10:43