记事本 ++ 的 CS 脚本为带有图标的分发准备 exe
CS-Script for notepad++ prepare exe for distribution with icon
我是 C# 的新手
我正在使用 Notepad++ 通过 Notepad++ 的 CS-Script 插件进行编码。
我在其中开发了一个小脚本。
在这样的脚本中,我使用了我自己制作的托盘栏图标,并在脚本中包含了对它的引用以及下面的代码行
trayIcon.Icon = new Icon("icon.ico");
这几乎可以满足我的需要...但请查看下图进行说明:
我用 CS-Script 命令准备要分发的 exe,它运行得很漂亮。问题是编译过程没有将图标包含到二进制文件中,所以我必须手动将图标文件包含到二进制文件的同一目录中:实际上,如果图标文件生成的 exe 文件挂起并出现错误不包括在内。
问题:
有没有办法解决这个问题,把"binary package"的可执行部分和ico资源文件全部放在一个文件里?
限制条件:
我知道我可以创建一个 rar、zip 或压缩的 exe(自解压文件),但我不是那个意思:我想要 1 个带有图标的 exe 文件,可以单独执行和移动.
换句话说,图标必须嵌入到独立的 exe 中,因为它是 exe 文件图标本身和 windows 托盘栏的图标。
我找到了这种从 CS-Script 编译二进制文件中的嵌入式资源获取 Icon
的方法。图标文件名为 alpha.ico
.
请关注using
部分。
//css_resource alpha.ico
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;
class Script
{
[STAThread]
static public void Main(string[] args)
{
var assembly = Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("alpha.ico"))
{
var icon = new Icon(stream);
}
}
}
我是 C# 的新手 我正在使用 Notepad++ 通过 Notepad++ 的 CS-Script 插件进行编码。 我在其中开发了一个小脚本。
在这样的脚本中,我使用了我自己制作的托盘栏图标,并在脚本中包含了对它的引用以及下面的代码行
trayIcon.Icon = new Icon("icon.ico");
这几乎可以满足我的需要...但请查看下图进行说明:
我用 CS-Script 命令准备要分发的 exe,它运行得很漂亮。问题是编译过程没有将图标包含到二进制文件中,所以我必须手动将图标文件包含到二进制文件的同一目录中:实际上,如果图标文件生成的 exe 文件挂起并出现错误不包括在内。
问题:
有没有办法解决这个问题,把"binary package"的可执行部分和ico资源文件全部放在一个文件里?
限制条件:
我知道我可以创建一个 rar、zip 或压缩的 exe(自解压文件),但我不是那个意思:我想要 1 个带有图标的 exe 文件,可以单独执行和移动. 换句话说,图标必须嵌入到独立的 exe 中,因为它是 exe 文件图标本身和 windows 托盘栏的图标。
我找到了这种从 CS-Script 编译二进制文件中的嵌入式资源获取 Icon
的方法。图标文件名为 alpha.ico
.
请关注using
部分。
//css_resource alpha.ico
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;
class Script
{
[STAThread]
static public void Main(string[] args)
{
var assembly = Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("alpha.ico"))
{
var icon = new Icon(stream);
}
}
}