首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CS- notepad++脚本准备带图标分发的exe

CS- notepad++脚本准备带图标分发的exe
EN

Stack Overflow用户
提问于 2017-04-04 22:49:59
回答 1查看 250关注 0票数 0

我是C#的新手,我用notepad++来为Notepad++编写CS脚本插件。我在里面写了个小剧本。

在这样的脚本中,我使用了我自己创建的traybar图标,并在脚本中包含了对它的引用,并包含了下面一行代码

代码语言:javascript
复制
trayIcon.Icon = new Icon("icon.ico");

几乎可以满足我的需要..。但请看下面的图片以求澄清:

而不是我准备用CS-Script命令分发的exe,它工作得很好。问题是编译过程没有将图标包含到二进制文件中,所以我必须通过手将图标文件包含在二进制文件的同一个目录中:实际上,如果不包括图标文件,生成的exe文件会挂起错误。

问题:

有没有办法解决这个问题,将“二进制包”全部放在一个文件中,同时包含可执行部分和ico资源文件?

制约因素:

我知道我可以创建一个rar,zip,或压缩的exe (自解压缩文件),但我并不是说:我想要一个包含图标的exe文件,它可以单独执行和移动。换句话说,图标必须嵌入到单独的exe中,因为它是exe文件图标本身和窗口托盘的图标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-05 21:03:16

我找到了从CS编译的二进制文件中的嵌入式资源中获取Icon的方法。图标文件名为alpha.ico

请注意using部分。

代码语言:javascript
复制
//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);
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43219007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档