编译简单的批处理文件exe不工作

时间:2016-09-19 23:25:00

标签: batch-file compilation exe relative-path

我创建了一个打开相对链接的批处理文件。它工作得很好,但我更喜欢将其更改为带有图标的可执行文件。这是Meal Master.bat的代码:

"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或相对快捷方式(或任何带图标的文件)?

2 个答案:

答案 0 :(得分:0)

好!这有点棘手,因为我必须在bat-to-exe转换器中随机更改选项。不要使用图标,并使其可见。之后,使用Resource Hacker(http://download.cnet.com/Resource-Hacker/3000-2352_4-10178587.html)之类的东西。行动>添加新资源。选择您的图标,然后将资源名称更改为图标。而已!它有效。

答案 1 :(得分: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查找程序和文档

程序和文档可以添加到注册表中,因此在“开始 - 运行”对话框或快捷方式中键入其名称而不显示其路径,Windows可以找到它们。

这是一个通用的reg文件。将下面的行复制到新的文本文档并将其另存为anyname.reg。使用您的程序或文档进行编辑。

在路径中使用\来分隔关键路径中的文件夹名称,因为regedit使用单个\来分隔它的键名。所有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\\"