Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何添加自定义窗口';不使用资源编译器将资源转换为可执行文件?_C++_Windows_Winapi_Native - Fatal编程技术网

C++ 如何添加自定义窗口';不使用资源编译器将资源转换为可执行文件?

C++ 如何添加自定义窗口';不使用资源编译器将资源转换为可执行文件?,c++,windows,winapi,native,C++,Windows,Winapi,Native,我能够将位图对象(LoadImage)加载到可执行文件中(并将其实现为图标);但是,当我将其作为独立的可执行文件发布时,图标将消失。我发现这需要位图在运行时出现在目录中,这个技巧才能发挥作用。但是,即使当前目录中存在位图,我的可执行桌面图标也不会从默认图标更改。我假设会发生这种情况,因为桌面图标应该在编译期间确定。因此,我想知道是否有一种方法可以在不需要资源编译器的情况下将资源添加到可执行文件中?我的愿望是用winapi完成所有事情。如果这是不可能的,那么我会考虑其他选择。 您可以使用和将位图资

我能够将位图对象(LoadImage)加载到可执行文件中(并将其实现为图标);但是,当我将其作为独立的可执行文件发布时,图标将消失。我发现这需要位图在运行时出现在目录中,这个技巧才能发挥作用。但是,即使当前目录中存在位图,我的可执行桌面图标也不会从默认图标更改。我假设会发生这种情况,因为桌面图标应该在编译期间确定。因此,我想知道是否有一种方法可以在不需要资源编译器的情况下将资源添加到可执行文件中?我的愿望是用winapi完成所有事情。如果这是不可能的,那么我会考虑其他选择。 您可以使用和将位图资源添加到可执行文件中作为编译后步骤或其他什么,但为什么要避免使用资源编译器呢?与破解您自己的解决方案相比,这真的更容易、更直接、更经得起未来考验。

我想先尝试一下艰难的方法,然后再尝试一下简单的方法,这样我就不会无知了。好吧,我计划做的是将GetModuleFileName与UpdateResource关联起来,以更新当前的可执行文件。