在 WPF EXE 中嵌入多个图标

2023-11-22

我有一个 WPF 程序集,我想在其中嵌入与我的应用程序关联的不同文件类型的五个图标。 如何将这些图标嵌入到我的 EXE 中?

@smoore @Groky @ChrisF,谢谢。 不幸的是,这不是我问的。我发现我的问题很模糊0_°。让我重新表述一下这个问题:


我有图标,比如说Application.ico, Document.ico等作为我的 WPF 项目中的资源。在大多数情况下,我通过以下方式访问这些图标:

<Image Source="/MyAssembly;component/Resources/Icons/Application.ico" />

每次都有效。我知道。


我的问题是如何使用 Windows 资源管理器中的相同图标来进行注册表中的文件关联。我希望能够通过以下路径访问图标:

C:\Program Files\MyApp\MyApp.exe,1

就像图标如何与文件类型关联一样HKEY_CLASSES_ROOT.

AFAIK,我应该使用资源文件(.rc),编译并将其与我的 EXE 合并。大致如下:

101 RT_ICON Application.ico
102 RT_ICON Document.ico
// etc...

这是 WPF 中的正确方法吗?有没有其他选择,特别是因为这种方法似乎会导致从我的程序集版本中删除AssemblyInfo.cs。我仍然准备在资源中写入版本控制信息,而不是程序集的信息。


我已经发现一种解决方案!它并不完美,但它做到了我想要的!由于我在斯堪的纳维亚度过了漫长的夜晚来寻找解决方案,因此我觉得我必须在这里分享。

这就是我所做的:

1) 编写了一个愚蠢的控制台 C# 应用程序。

class ResTest {
    static void Main() {
        System.Console.WriteLine("Hello World!");
    }
}

2)做了一个简单的csc restest.cs测试我的代码是否有效。

3)打开记事本并在我配音的文件中写入以下内容App.rc.

101 ICON "Application.ico"
102 ICON "Document.ico"
103 ICON "Help.ico"

4) Ran rc /v App.rc, the 资源编译器。一个新文件,App.res已经出现了。

5)热兰csc但这一次:

csc /win32res:App.res restest.cs

6) restest.exe现在有了 ID 为 101 的图标,我可以在 Axialis IconWorkshop 中找到另外两个图标。


现在,我注意到我的程序集信息(版本、产品名称、等等)blah)消失了。我用谷歌搜索VS_VERSION_INFO并出现了 MSDN 关于 VERSIONINFO 结构的文章,该结构在 RC 文件中定义了我需要的属性。

我更喜欢更“自动化”的方法,但我必须使用 C# Express 和 Windows Vista SDK 尽我所能。

——希望你能用这个...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WPF EXE 中嵌入多个图标 的相关文章

  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • maven没有找到类

    我继承了一个巨大的maven java项目 但无法编译它 mvn compile 它告诉我它找不到一个类 即使它就在本地仓库中 Failed to execute goal org codehaus enunciate maven enun
  • 如何在 Ruby 中实现抽象类

    我知道 Ruby 中没有抽象类的概念 但如果需要实施的话 我该如何实施呢 我尝试过这样的事情 class A def self new raise Doh You are trying to write Java in Ruby end e
  • 从wcf服务返回html

    我有一个网络服务 我需要从中返回一个包含 html 的字符串 此 html 是 Select 控件的标记 用于 jqGrid 搜索过滤器 例如
  • 计算函数返回值的最佳实践

    我经常用 C 语言构建函数来检查一些参数并返回错误代码 当我发现错误时停止值检查的最佳方法是什么 第一个例子 ErrorCode e myCheckFunction some params ErrorCode e error CHECK F
  • 以编程方式更改 R.String 的值

    您可以在 Android 程序中以编程方式更改 R string 的值吗 我需要提取一些 API 信息 例如电池状态 电池百分比 android 操作系统版本 并希望将其保存为 R string 值 我知道怎么读 String helloV
  • 如何通过简化 R 中的两个 SpatialPolygonsDataFrame 对象来创建新的多边形?

    假设我有两组形状文件 它们覆盖同一区域 并且经常但并不总是共享边界 例如美国各县和 PUMA 我想定义一个新的多边形规模 它使用 PUMA 和县作为原子构建块 即两者都不能分割 但我仍然希望有尽可能多的单位 这是一个玩具示例 library
  • 如何通过 ssh 执行 Bash 别名

    这就是我想做的 ssh andy
  • 为什么 -1>strlen(t) 在 C 中为真? [复制]

    这个问题在这里已经有答案了 在 VS2013 中处理这一小段代码 但由于某种原因它没有打印 似乎 1 gt strlen str 任何人都知道我做错了什么 char str abcd if 1
  • “gcc 链接”和“ld 链接”之间有什么关系?

    据说linux的加载器是 usr bin ld 但通常我们使用gcc g 来链接库和可执行文件 我们很少使用 ld 上次我手动使用 ld 是在学习linux汇编时 生成可执行文件的唯一方法是ld一个 o文件直接生成可执行文件 无需任何库 我
  • 如何使用 Javascript 中的“views.py”、Django 模板中的“”中的变量?

    当我使用 Django 模板渲染器渲染页面时 我可以传入一个包含各种值的字典变量 以便在页面中操作它们 myVar 有没有办法在 JavaScript 中访问相同的变量 也许使用DOM 我不知道Django如何使变量可访问 我希望能够使用查
  • Vagrant/VirtualBox/Apache2 奇怪的缓存行为

    我正在使用 Vagrant 来运行 Ubuntu 驱动的 VirtualBox 和 Apache2 除其他外 网络服务器还提供我的 vagrant 目录中的静态文件 这在大多数情况下都很有效 但是 当我更改共享文件夹上的图像并重新加载网站时
  • JVM 的 -XX:+StressLCM、-XX:+StressGCM 选项

    和一些人玩的时候jcstress代码中 我注意到两个对我来说非常新的参数 StressLCM and StressGCM 我要做的第一件事就是在源代码本身中搜索这些内容 虽然我找到了一些东西 但仍然不清楚它们是什么actually做 我真的
  • python3 - super() 在多重继承上的行为

    我知道 super 和多重继承已经在这里讨论过 但关于我在 python3 中的具体问题 我没有找到解决方案 假设我们有 usr bin env python3 class A object def init self super init
  • 如果我们有多个 XML 配置文件,DispatcherServlet 如何工作?

    问题 如果我们有多个 XML 配置文件 DispatcherServlet 如何工作 那么 Spring Application Context 如何加载它们并对其进行操作 设想 就我而言 我们有一个应该是全局的应用程序 即应用程序应该具有
  • 在 asp.net mvc 3 razor 中识别 html 帮助程序时出现问题

    这就是我的 Html 助手的样子 namespace WebApp WebUI public static class HtmlExtensions public static MvcHtmlString GenerateCaptcha t
  • Ruby:为什么只要覆盖“#eql?”就需要覆盖“#hash”?

    In 这个演示文稿说话者创建了一个值类别 在实现它时 他覆盖了 eql 并说在 Java 开发中 习惯用法是每当你重写 eql 你必须覆盖 hash class Weight def hash pounds hash end def eql
  • 何时使用map()函数以及何时使用summarise_at()/mutate_at()

    任何人都可以提供有关何时使用的建议map 所有map 函数 以及何时使用summarise at mutate at 例如 如果我们对向量列进行一些修改 那么我们不需要考虑map 如果我们有一个 df 有一个列中有一个列表 那么我们需要使用
  • 使用 ASP.NET 5 导出为 pdf

    我正在开发 MVC 6 应用程序 DNX Core 5 0 框架 不幸的是 我没有找到任何用于 pdf 导出的库 任何帮助将不胜感激 我终于找到了一种从 NET Core 生成 pdf 的方法 没有任何 NET 框架依赖项 即在我的 NET
  • 如何将 Spark RDD 保存到本地文件系统

    我可以使用以下命令将文件保存到本地系统中吗saveAsTextFile句法 这就是我编写保存文件的语法的方式 insert df rdd saveAsTextFile
  • 在 WPF EXE 中嵌入多个图标

    我有一个 WPF 程序集 我想在其中嵌入与我的应用程序关联的不同文件类型的五个图标 如何将这些图标嵌入到我的 EXE 中 smoore Groky ChrisF 谢谢 不幸的是 这不是我问的 我发现我的问题很模糊0 让我重新表述一下这个问题