VS关于生成exe文件图片不显示的解决以及两种简单的打包方法

摘要:
1、ApplicationFolder这个便是程序的内容,是你将程序安装后得到的一系列看起来非常复杂高端的东西。

当辛辛苦苦写好一段带有图形界面的代码而exe无法进行图形输出,显然是一件十分苦恼的事情,下面就提供一种此类问题的解决方案,并且简单介绍一种最简单的打包方法以及vs的一种打包

问题描述

当代码在vs上运行时可以得到正常的图形输出

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第1张

然而而通过exe文件打开却是一片漆黑

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第2张

问题分析

既然vs上可以正常运行,说明代码是没有问题的,想要解决问题显然下一步需要从exe文件入手

我们对未进行输出的图形界面框进行预期操作(例如:程序中有获取鼠标消息的功能时对黑框进行点击)通过控制台可以发现程序可以接收指令并且正常运行,只是图形未输出

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第3张

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第4张

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第5张

显然问题就出在了exe对输出图片的读取上

解决方案

将图片移动至exe文件所在文件夹

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第6张

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第7张

可以看到,当图片拖至exe文件所在文件夹时exe文件便可进行正常输出

但需要注意:此时对应的代码是

loadimage(&img[10], L"10.jpg", SIZE, SIZE);

引号(“”)中为图片名称(包括格式),代表直接从exe文件所在文件夹读取图片(10.jpg)

而当图片过多时又改怎么办?

我们可以更改文件的读取路径,代码如下

loadimage(&img[10], L"jpg//10.jpg", SIZE, SIZE)

代表从exe所在文件夹中的jpg文件夹中读取图片(10.jpg)(更深层以此类推)

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第8张

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第9张

这样通过exe文件打开程序的图片输出问题就得到解决了,这同时也为最简单的打包方法做好了铺垫

最简单的打包方法

这种方法真的是打包(这是一种小学生都会的打包方法,虽然不是很高端,但是很简单),原理就是将所有程序运行文件(例如图片、库函数等)全部放至exe文件夹内,然后就可以拷贝给其他电脑使用了,如果想要远程发送,可以再压缩成压缩包发送,对方解压即可使用

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第10张

VS2017中自带的打包方法

VS2017中自带的打包便是通过在源方案上创建Setup Project项目从而生成一个安装包

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第11张

具体操作方法百度有很多,不再赘述,下面就简单介绍一下百度比较难以搜索到的打包时各个文件夹的含义(以Windows10为例)

VS关于生成exe文件图片不显示的解决以及两种简单的打包方法第12张

在利用Setup Project进行打包时对这三个文件夹的操作是难以避免的,但是百度上大多都是交给你如何操作,你真正知道这三个文件夹代表什么意思吗?

1、Application Folder

这个便是程序的内容,是你将程序安装后得到的一系列看起来非常复杂高端的东西。

2、User's Desktop

顾名思义:用户的桌面

这个的功能是在程序安装之后在桌面上创建的内容

3、User's Programs Menu

同样顾名思义:用户的程序菜单

这个的功能是在程序安装之后在程序菜单上创建的内容(即点开Windows小图标后显示的菜单)

原文转载:https://blog.csdn.net/qq_43636360/article/details/84946196

免责声明:文章转载自《VS关于生成exe文件图片不显示的解决以及两种简单的打包方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Xbox360手柄驱动xbcd+Selenium中,若HTML元素输入框带有readonly属性,如何实现修改其元素内容下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【美国大学生数学建模比赛】2020C题(总结和参赛论文)百度云请自取

好消息:相关论文word版本已经上传至百度云,请三连后自取哈! 链接: https://pan.baidu.com/s/1k5V7D_PQ_tmb6kAmg-NhVg 密码: kj6u 【MCM】2020C题(总结和论文分享) 前言:QAQ ,数学建模美赛竟然在两个多月的疫情中结束了,美赛的这段时间效率属实高,仿佛是这两个月没有学习一下子迸发出的潜力一...

ActiveMQ从入门到精通(一)

  这是关于消息中间件ActiveMQ的一个系列专题文章,将涵盖JMS、ActiveMQ的初步入门及API详细使用、两种经典的消息模式(PTP and Pub/Sub)、与Spring整合、ActiveMQ集群、监控与配置优化等。话不多说,我们来一起瞧一瞧! JMS 首先来说较早以前,也就是没有JMS的那个时候,很多应用系统存在一些缺陷:...

ABP VNext框架基础知识介绍(2)微服务的网关

ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如数据库都支持Oracle、SQLServer、MySql、PostgreSQL、SQLite,都有利用Redis作为分布式缓存,使用RabbitMQ作为事件总...

android的几种“通知”方式简单实现(Notification&NotificationManager)

  关于通知Notification相信大家都不陌生了,平时上QQ的时候有消息来了或者有收到了短信,手机顶部就会显示有新消息什么的,就类似这种。今天就稍微记录下几种Notification的用法。3.0以前的通知和3.0以后的通知是有些区别的。话不多说,直接上代码。   1、新建一个android项目     我新建项目的 minSdkVersion="1...

Redis安装和基本命令

1. Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能, 同时通过Redis Sentinel提供高可用,通过Redis Cluster提...

Mozilla公布火狐4详情:更快 更支持开放标准

Mozilla公布火狐4详情:更快 更支持开放标准 火狐公布火狐4.0版的更多技术详情 北京时间5月11日消息,据国外媒体报道,火狐(Firefox)浏览器开发商Mozilla技术开发副总裁迈克·贝尔泽纳(Mike Beltzner)今天公布了火狐4.0版的更多技术详情,称火狐4.0版整体运行速度将更快,将更多支持开放互联网浏览标准,同时把隐私保护...