- 博客(9)
- 收藏
- 关注
原创 VS开发之打包的程序启动闪退
那么原因就在这了,Detected Dependencies文件夹下的dll是打包时系统自动生成的文件,而我们引用的dll文件是需要手动添加的,不在该文件夹下。但是因为该文件下已经有了安装程序所需要的dll,所以我们手动添加的就自动被排除了,于是安装程序运行时没有调用到我们手动添加的dll,最终造成了闪退的情况。我在覆盖后安装的程序能够运行了,说明是打包的依赖文件有问题。昨天在vs中使用微软提供的打包扩展打包程序遇到了一个问题:打包的安装包,安装后一启动就闪退!2.检查打包的程序是否缺少依赖。
2024-07-05 10:54:29
310
原创 VS开发之LoadImage返回值为空
网上搜索之后才知道,LoadImage是只能够加载bmp格式的图片,其他格式的图片是加载不了的(并不是指bmp后缀而是指bmp的存储格式,所以非bmp的图片直接改后缀可能还是加载不了)。②另存为bmp选择24位位图,保存完之后可以用这个新的图片去尝试一下,一般情况下都能行,不行那只能换方法。解决方法:1.从存储格式方面上更改图片的格式。①右击要修改格式的图片,选择编辑-》画图打开。
2024-07-03 18:35:21
258
原创 vs开发之无法解析的外部符号、Debug正常调试Release找不到头文件
头大头大头大头大头大头大头大头大!先是报无法解析的外部符号,然后好不容易解决了但是切换Release模式引用外部库中的函数又找不到了,报未定义的标识符,但是我明明都添加了头文件路径和引用的库文件和路径!填的是 ”E:winclient\SyncBoxDll\Include\alibabacloud\oss“,而OssClient.h中这些报错的头文件实际上和OssClient.h是同级目录,但是在OssClient.h中引用时并不是同级,所以才会导致OssClient.h中引用的头文件找不到,导致报错!
2024-05-11 14:47:46
914
1
原创 VS开发之Shell_NotifyIcon托盘显示气球通知无效
但是每当我需要在托盘上显示气球通知的时候都是无响应的。首先要使用Shell_NotifyIcon(NIM_MODIFY, &niData)显示气球通知时,其uFlags必须包括NIF_INFO,我是有的。然后我还检查了uVersion和cbSize,都没问题,在一台服务器上测试是可以显示的,但是在我win10的电脑上就是没有反应。总而言之,如果你在win10及以上的操作系统中使用Shell_NotifyIcon显示气球通知时,如果不起效果可以检查一下注册表中是否开启了气球通知。
2024-04-25 14:10:51
230
1
原创 VC开发之MoveFile失败,error code 5
几轮排查之后发现是权限的问题,有些用户的安装路径在C:\Program Files\下,有的在其他盘,所以其他盘的可以更新,C:\Program Files\下的无法更新。因为在Windows系统里C盘是系统盘,普通用户只有读的权限没有修改和写入的权限,所以操作其文件或是文件夹需要管理员权限的,故MoveFile改名失败导致更新失败。以下的方法本质上是差不多的,都会单出来一个UAC窗口,需要用户确认才能获取管理员权限。1.手动为普通用户添加权限(测试或者自己用,那这个方法没问题,给用户当然是不行的)
2024-03-20 17:38:37
813
1
原创 vs开发之文件/文件夹的排序
因为这些比较函数都是逐字符比较的,那么显然这种排序方法用在应用程序中就不适用了,那么该怎样解决呢?一般排序可能就是用到字符串比较函数来进行排序,strcmp以及各种衍生函数。,把字符串中的数字作为数字比较而不是字符。
2023-11-23 15:06:46
220
1
原创 vs开发遇到的问题之MSI未能注册模块 xxx.dll。HRESULT -2147024770。请与你的技术支持人员联系。
将输出文件属性中的自动注册vsdrfcomselfreg改为标准vsdrfcom再打包msi,安装完msi之后以管理员权限启动cmd.exe去安装的路径下,使用regsvr32 dll文件名手动注册。最近遇到一个让人头大的问题,在vs2022上使用Windows Installer打包的程序有个输出的dll需要注册com组件,在自己电脑上可以使用,但是给其他人使用就会报错 “如果是这种情况,那么大概率是缺少依赖项了, 启动vs自带的developer command prompt,输入指令。
2023-11-16 10:30:09
868
1
原创 vs开发遇到的问题之如何获取实时的系统DPI
我很懵逼一查原来是DPI缩放问题,vs上设计的界面都是按100%缩放的,然后找了半天怎么获取电脑当前的DPI结果都不理想,最后在大佬的指点下也是解决了问题。函数获取监视器的DPI,剩下的就是用获取到的数据来判断设置的是多少倍缩放了,最后对界面进行调整即可。(DPI对应的缩放:96--100%, 120--125%, 144--150%, 168--175%,192--200%……,但是越测越不对劲,这个函数只能获取最初设置的DPI,一旦后期改变获取到的DPI还是之前设置的。
2023-07-07 11:23:44
311
1
原创 vc开发遇到的问题之堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出
我目前遇到的情况③,这个情况隐蔽性要稍微强一点,因为它在数据写入时并没有直接报错而是在其他操作时进行了报错(不知道是不是因为我在Release下调试的原因),从而一度让我找错了方向。后来将分配的内存扩大测试后问题成功解决。0x00007ffab3912dbd (delisyncbox.dll) (explorer.exe 中)处有未经处理的异常: 堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出。③数组分配的内存比实际写入数据所需的内存要小。
2023-07-07 10:48:26
2350
2
空空如也
关于引用静态库“无法解析外部符号”的问题。
2024-05-07
SetNamedSecurityInfo error code 0
2024-03-18
WindowsShell开发,资源管理器的状态栏怎么修改?
2024-01-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人