
windows程序设计
文章平均质量分 90
zhaopeng01zp
这个作者很懒,什么都没留下…
展开
-
安装支持vs2019的MFC(解决MSBuild 错误 MSB8041、MSB8042)
参考链接:https://blog.youkuaiyun.com/sanqiuai/article/details/124181979。安装上述勾选内容后,即可解决MSBuild 错误 MSB8041。MSB8041:此项目需要 MFC/ATL 库。原创 2023-07-27 21:33:49 · 1872 阅读 · 0 评论 -
头文件stdafx.h的作用(常见错误),以及如何在空项目中添加该头文件
stdafx.h 是微软自己搞的预编译机制中的一个默认文件,里面填写代码用到的h文件, 而vs在编译代码时,会把 stdafx.h 里面提到的h进行预先编译,缓存起来,当用户不更改stdafx.h 里面内容时,则不重新编译这些h,这样会让你更加高效地进行反反复复的run/debug操作。\stdafx.h”。7. 如果一个 .cpp 文件使用了预编译头文件,那么要在 .cpp 文件的最开头去包含 stdafx.h 文件,否则会跳过 #include “stdafx.h” 之前的 #include 代码。原创 2023-04-23 16:13:38 · 23398 阅读 · 2 评论 -
读取注册表中的REG_QWORD和REG_BINARY(二进制)类型数据
这里所说的项就是键key,子项就是子键subkey,键的一条属性被称为一个value(值项),最底层的子键里面的项其实就是值项value,value由名称、类型、数据类型和数据组成,这里所说的值名对应的就是值项的名称,这里所说的值数据就是值项的数据)而DigitalProductId这类二进制数据的长度也是在函数RegQueryInfoKey中获取的(切记获取的这个长度不包括结尾的空字符0,所以我们为了读取该数据分配的空间大小,要在这个长度上加1);(subkey)就是这个节点的子节点,子健也是键。原创 2023-04-22 18:23:46 · 3467 阅读 · 0 评论 -
对话框与子窗口控件(写给大忙人看的快速复习掌握)
我不喜欢控件这个词,因为控件这个概念有点抽象,很容易让人摸不到头脑(控件到底是什么东西,它跟窗口有什么关系呢?),我更喜欢叫它预定义的窗口类。大家还记得么,我们在Windows 程序设计应用开发(上部) 第四章 windowsSDK编程。原创 2023-04-14 09:45:39 · 802 阅读 · 0 评论 -
编译64位Detours(其他vs版本同理)
该方法最实用,少INCLUDE文件你搜到后,就将该文件所在的目录添加到系统环境变量INCLUDE里面,少LIB文件你就将它的目录添加到系统环境变量LIB里面,少了添啥。将上述选项中的/WX修改为/WX-,/WX 是警告被视为错误,而 /WX- 是警告不被视为错误。目录中的include目录中,这样就可以在你项目.cpp中直接引用detours.h头文件。detours.lib生成成功,并会自动将detours.h、detver.h拷贝到。在vs中编译使用了Detours库的项目时,报上述错误。原创 2023-03-24 17:25:07 · 1112 阅读 · 0 评论 -
VC常见编译链接错误(.obj : error LNK,fatal error)
VC常见问题(.obj : error LNK2019、fatal error C1083)原创 2023-03-09 09:23:20 · 1315 阅读 · 0 评论 -
MFC常用技巧
C、当某个api函数的 out参数能返回一个指针时,应小心谨慎处理参数 ,在win32中,可以把一个ulong变量的地址进行强制转换后传递给api函数,返回的指针就保存在 ulong变量中,但在win64中,返回的指针有64位,如果使用ulong变量的话就会破坏其他变量的内容,正确并且简单的方法是直接定义一个指针变 量,把指针变量的地址作为参数传递给api函数。另外,由于handle实质上是一个指针(void *),因此把handle转换成long或ulong等类型也是不正确的。原创 2023-02-10 17:03:57 · 1609 阅读 · 1 评论 -
vs最常用快捷键
Ctrl+J或者 Ctrl+Space 或者 Alt+Right ------自动补全或者是提示(Ctrl+Space因为被中文输入法抢占,替代的快捷键Alt+Right。Ctrl+上下键--------滚动页面(滚动编辑器,滚动代码屏幕,但不移动光标位置,让我们不使用鼠标来滚动页面,摆脱鼠标的束缚!Ctrl+Shitf+左右键--------选择整个的单词(主要用于复制某个或多个单词)Ctrl+左右键--------跳过整个的单词(不用再一个一个的跳过字母)原创 2023-01-17 10:16:38 · 7314 阅读 · 0 评论 -
vs未能安装此扩展 基础连接已经关闭
这是由于nuget不再支持tls1.0和1.1,猜测是tls的问题。原创 2023-01-15 10:10:59 · 3355 阅读 · 1 评论 -
驱动、MFC项目改名、代码移植技巧,复制别人项目中的界面资源以及合并项目
2、用notepad++打开.vcxproj、.vcxproj.filters文件,替换里面对应的文件名字符串;3、用notepad++打开.vcxproj项目文件,修改、标签中的文件名,搜索rc、rc2修改对应的文件名;4、用notepad++打开.rc文件,修改里面对应的.rc2文件名;5、项目中的.h和.cpp可以打开vs在里面修改文件名即可。res文件夹下的.rc2。原创 2023-01-06 20:20:34 · 1572 阅读 · 0 评论 -
MFC高级控件RichEdit2.0的使用
2、在对话框中添加若干编辑框和控件,按住ctrl+D键设置焦点顺序(例如你想编辑框IDC_EDIT1设置为第一个焦点,只需要第一个点这个编辑框即可,接下来的依次点就可以了);2、此方法可以实现在编辑框之间的依次切换,当遇到第一个按钮控件时(一般设置为缺省按钮),按下回车键相当于执行鼠标点击该按钮的功能。将需要被设置到焦点的控件的tab order设为1。注意:1、IDOK为对话框中的缺省按钮ID,若对话框的缺省按钮已更改,则写相对应的缺省按钮的ID号;// TODO: 在此添加专用代码和/或调用基类。原创 2023-01-05 11:26:41 · 3845 阅读 · 0 评论 -
MFC 错误 error C2504: “CDialogEx”: 未定义基类,以及错误error C1189
首先,下图这个framework.h非常关键,它在pch.h中也有定义,所以下图这个framework.h可以删掉,但是pch.h中的framework.h不能删除,否则必报类似CDialogEx C++ class 未定义基类的错误。原文链接:https://blog.youkuaiyun.com/m0_51911432/article/details/122816079。在MFC文件中添加资源窗口,后添加新类,随后在.h头文件中出现 CDialogEx C++ class 未定义基类错误。原创 2022-12-15 13:32:08 · 3595 阅读 · 0 评论 -
C++Mysql8.0数据库跨平台编程实战(下)
C++Mysql8.0数据库跨平台编程实战(下)原创 2022-12-08 16:42:37 · 1160 阅读 · 0 评论 -
CString转float,再转十六进制,再转CString(互相转换)
MFC应用程序,添加两个编辑框,并给各编辑框添加一个变量(CString m_float、CString m_hex)。参考资料:MFC CString和十六进制互转https://blog.youkuaiyun.com/zb774095236/article/details/88795565浮点型与16进制数据的相互转换(C语言代码)https://blog.youkuaiyun.com/qq_43537721/article/details/107757766strtoul, _strtoul_l, wcstoul,原创 2022-12-04 22:11:39 · 676 阅读 · 0 评论 -
C++socket网络编程实战http服务器(支持php)(上)
return 0;}设置项目属性,链接器、输入,ws2_32.lib;编译成功!i < 1000;}第一个参数,是用什么协议,AF_INET,就是TCP/IP协议;第二个参数,传输层用udp还是tcp,这里我们用tcp的;返回值,socket句柄的值。原创 2022-11-21 11:13:30 · 1244 阅读 · 1 评论 -
VS2015之博大精深的MFC项目开发(二)
其实消息映射机制我们现在也都知道了,就是在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间,将一个ID、一个消息(COMMAND、SIZE、CLOSE)与一个函数关联;或者将一个消息(ON_WM_PAINT)与一个固定的函数相关联,比如上面这个WM_PAINT消息,它就是绘图消息,它就必须和OnPaint关联,它是一消息、一函数;原创 2022-11-03 10:06:52 · 2943 阅读 · 0 评论 -
VS2015之博大精深的MFC项目开发(一)
not captured,就是当鼠标移出了对话框窗口客户区之外的时候,标题栏上的文字就不响应了(不响应鼠标移动消息了),离开窗口的话光标就无效了,光标在窗口内的话就响应鼠标移动消息,也就是说包含光标的窗口才能收到这个消息;the window that has captured the mouse,也就是把这个光标绑到这个窗口,离开窗口之后光标仍然有效。继续研究wParam参数,如何把按下左键拖动也能显示出来呢?原创 2022-10-15 22:44:07 · 4863 阅读 · 1 评论 -
C++11、17、20的内存管理-指针、智能指针和内存池从基础到实战(中)
C++内存管理-指针、智能指针和内存池从基础到实战原创 2022-11-22 12:00:00 · 997 阅读 · 0 评论 -
C++11、17、20的内存管理-指针、智能指针和内存池从基础到实战(上)
C++内存管理-指针、智能指针和内存池从基础到实战原创 2022-11-21 11:14:40 · 545 阅读 · 0 评论 -
C++Mysql8.0数据库跨平台编程实战(中)
C++调用MysqlI数据库的AP进行跨平台编程实战原创 2022-08-30 15:14:47 · 1107 阅读 · 0 评论 -
Windows MFC 工程应用开发与框架原理完全剖析教程(下)
消息循环基础类CCmdTarget的设计原创 2022-09-07 07:35:13 · 402 阅读 · 0 评论 -
C++Mysql8.0数据库跨平台编程实战(上)
C++调用MysqlI数据库的AP进行跨平台编程实战原创 2022-08-24 23:04:54 · 1638 阅读 · 0 评论 -
Windows MFC 工程应用开发与框架原理完全剖析教程(中)之下部
Windows MFC 工程应用开发与框架原理完全剖析视频教程原创 2022-07-21 07:18:51 · 506 阅读 · 0 评论 -
Windows MFC 工程应用开发与框架原理完全剖析教程(中)之上部
Windows MFC 工程应用开发与框架原理完全剖析视频教程原创 2022-07-16 13:37:44 · 487 阅读 · 0 评论 -
Windows MFC 工程应用开发与框架原理完全剖析教程(上)
Windows MFC 工程应用开发与框架原理完全剖析视频教程原创 2022-07-04 11:18:30 · 1163 阅读 · 0 评论 -
Windows界面UI自绘编程(上)之下部
Windows界面编程系列课程(中)第七章 进程第七章 进程原创 2022-06-15 10:11:47 · 2101 阅读 · 0 评论 -
Windows界面UI自绘编程(上)之上部
择善Windows界面编程系列课程第一章 Win32程序基本框架Win32对话框和文件的遍历第一章 Win32程序基本框架总结:作业:Win32对话框和文件的遍历LVITEM代表上图列表中的一项,它不是一行。目前的问题是我们遍历出来的名称,没有图标,区分不出来哪些是文件、哪些是目录,所以我们接下来给遍历出来的每一项加一个图标。我们首先在对话框初始化消息那里给ListView设置一个图片列表:cx和cy是图片的尺寸,我们用系统ICON的尺寸,f原创 2022-05-22 23:36:26 · 2657 阅读 · 0 评论 -
Windows 程序设计应用开发(上部)
第一章 课程介绍和环境准备1、请使用次新版本的vs。2、当我们上传用vs写的源码的时候,只需要上传项目文件当中的.vcxproj、.cpp、.c和.h即可;3、.vcxproj是用xml写的,是项目文件,.sln是解决方案;4、.vcxproj.filters是vs中左边解决方案中的目录结构,例如外部依赖项、头文件、源文件、资源文件,这些文件夹组成的目录结构,你如果把.vcxproj.filters这个文件删掉的话,就会造成vs左边的这个目录就没有了;5、.vcxproj.user这个文件是不需要原创 2022-05-08 16:12:49 · 3906 阅读 · 1 评论