
Win32
文章平均质量分 67
巨大八爪鱼
喜欢Win32和STM32编程
展开
-
IE11添加收藏、关闭窗口时弹出的对话框字体又大又粗很难看的解决办法
原因已查明,在win7 sp1 32位系统下,安装“2020-01 适用于基于 x86 的系统的 Windows 7 月度安全质量汇总(KB4534310)”这个更新会导致IE11的窗口字体变大变粗,把这个更新卸载了就可以了,无需重装IE11浏览器,记得隐藏这个KB4534310更新防止再次自动安装。原创 2024-07-26 21:08:58 · 385 阅读 · 0 评论 -
去除Win32 Tab Control控件每个选项卡上的深色对话框背景
例如,主对话框IDD_TABBOX上有一个Tab Control,上面有两个选项卡,第一个选项卡用的是IDD_DIALOG1充当内容,第二个用的则是IDD_DIALOG2。IDD_DIALOG1和IDD_DIALOG2的Border属性设为None,Style属性设为Child,如下三张图所示。但是用对话框充当选项卡内容会有烦人的深色对话框背景,和选项卡的样式并不搭,看起来也不好看,如下图所示。一般情况下,我们是用不带边框的对话框来充当Tab Control的每个选项卡的内容的。原创 2024-07-09 23:05:51 · 518 阅读 · 0 评论 -
C语言在Visual Studio 2010环境下使用<regex.h>正则表达式函数库
在Visual Studio 2010环境下,如果C语言想要使用头文件进行正则表达式匹配,则需要pcre3.dll这个动态链接库,可以去网上下载。下载的网址是:下载的栏目是:Binaries和Developer files。下载下来后是pcre-7.0-bin.zip和pcre-7.0-lib.zip两个压缩包。原创 2024-02-03 12:38:50 · 1274 阅读 · 0 评论 -
C语言用SHBrowseForFolder弹出选择文件夹的对话框
IMalloc_Free(shell_malloc, item_list)改成shell_malloc->Free(item_list)。IMalloc_Release(shell_malloc)改成shell_malloc->Release()。(4)init_icons函数中:LoadImage前加上(HICON)强制转换。(2)去除顶部的#define COBJMACROS。(1)源文件扩展名由c改为cpp。原创 2024-01-29 23:24:18 · 526 阅读 · 0 评论 -
C语言通过IXMLHttpRequest以get或post方式发送http请求获取服务器文本或xml数据
现在,服务器返回的都是JSON格式的数据,XML格式已经过时了,但是AJAX这个名字已经成了一个通用名词,字面含义已经消失了。首先我们要在自己的服务器上准备好处理ajax请求的页面,本文准备了三个示例页面:str_test.php、json_test.php和xml_test.php,分别用来产生文本回应、json回应和xml回应。尽管名字里面有XML和Http,它实际上可以使用多种协议(比如file或ftp),发送任何格式的数据(包括字符串和二进制)。做过网页设计的人应该都知道ajax。原创 2024-01-24 21:31:36 · 2103 阅读 · 1 评论 -
C语言或C++通过IShellLinkA创建或解析lnk快捷方式(使用char字符数组)
请注意因为函数参数的类型不为BSTR,所以这两个接口可直接传char *或wchar_t *字符串,不需要提前转化为BSTR类型。本例程用到的COM接口有IShellLinkA和IPersistFile。原创 2024-01-23 22:18:24 · 966 阅读 · 2 评论 -
C语言通过MSXML6.0读写XML文件(同时支持char[]和wchar_t[]字符数组)
开发环境:Visual Studio 2010运行环境:Windows XP SP3。原创 2024-01-17 23:16:55 · 894 阅读 · 0 评论 -
解决C语言wprintf函数无法打印中文的问题
在Visual Studio中,wchar_t[]字符数组用来存储UTF-16编码的字符串,但C语言库函数wprintf无法打印含有汉字的wchar_t字符串。解决办法是用WriteConsoleW函数重新实现一个自己的my_wprintf函数。原创 2024-01-16 23:16:12 · 1205 阅读 · 0 评论 -
C语言通过ODBC函数操作Access数据库(mdb和accdb格式)(char字符数组)
编译环境:Windows XP + Visual Studio 2010数据库:Access 2010,accdb格式本例程只使用char[]字符数组,不使用wchar_t[]字符数组,更适合C语言初学者。如果读取字符串时,db_bind_str提供的字符数组空间小了,db_fetch会执行失败返回-2。由于Windows系统设计原因,char[]字符数组只能存储GB2312编码的字符串,wchar_t[]字符数组只能存储UTF-16编码的字符串。原创 2024-01-11 22:19:25 · 982 阅读 · 0 评论 -
SHGetFileInfo函数获取48x48图标并在ListControl平铺视图中显示
【代码】SHGetFileInfo函数获取48x48图标并在ListControl平铺视图中显示。原创 2023-08-08 21:38:48 · 570 阅读 · 0 评论 -
Win32 EditControl多行文本框自动换行,并在添加新行时自动将光标移到末尾
在最后一行按回车键,自动向上滚动:Auto VScroll=True。显示垂直滚动条:Vertical Scroll=True。允许按回车键换行:Want Return=True。自动换行:Auto HScroll=False。设为多行文本框:Multiline=True。原创 2023-08-05 23:48:19 · 1402 阅读 · 0 评论 -
自己动手写C语言float浮点数转换字符串的函数
IDE里面支持float和double浮点类型,但是却没有头文件,不支持printf函数,sprintf函数。里面有字符串转浮点数的函数,却没有浮点数转字符串的函数,这个功能得自己编程实现。HT45F24A单片机不带UART串口,要想实现串口功能,只能自己用定时器操作GPIO来模拟UART发送时序。另外,IDE里面的float是3/4精度浮点数(3字节),double是单精度浮点数(4字节)。而电脑上的float是单精度浮点数(4字节),double是双精度浮点数(8字节)。原创 2023-06-28 22:09:35 · 2578 阅读 · 0 评论 -
让Win7 IE11浏览器右上角拥有小搜索框
如图所示,刚安装好的IE11浏览器,右上角是没有小搜索框的。如何让IE11浏览器拥有右上角的小搜索框呢?答案是用火狐浏览器在Windows Update Catalog中下载KB4052978这个补丁包并安装。文件名为ie11-windows6.1-kb4052978-x86_92c867719463186f23e992ebf1ad6442df3dd949.msu。...原创 2022-02-05 11:21:52 · 945 阅读 · 0 评论 -
WiFi固件bin文件转C数组的程序
编译环境:Visual Studio 2012#include <stdio.h>#include <Windows.h>#define FOLDER_88W8686 "E:\\Users\\Octopus\\Downloads\\SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL\\SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45\\FwImage"#define FOLDE原创 2022-01-16 13:20:41 · 566 阅读 · 0 评论 -
在Visual Studio 2012下编译lwip-2.1.3 httpd的makefsdata
步骤一 建立空白工程新建一个工程,项目名称起名为makefsdata。因为mkfsdata是一个控制台程序,所以我们要选择Win32 Console Application。这里很重要,必须要勾选“Empty Project”选项,建立空项目:建好的解决方案目录是C:\Users\Octopus\Desktop\makefsdata,工程目录是C:\Users\Octopus\Desktop\makefsdata\makefsdata。步骤二 解压lwip-2.1.3的部分头文件和原创 2022-01-14 11:57:04 · 2301 阅读 · 0 评论 -
2021年新安装的Win7系统,Windows Update无法更新,提示错误代码80072EFE
本文涉及到的三个补丁的下载链接:https://pan.baidu.com/s/1YYSzXw2QCIX8kBauz_u5bg?pwd=i6yr(提取码:i6yr)(其中KB976932是升级SP1的补丁包)Win7那么成功,微软却要放弃,强推Win10,实属可悲。本来以为Win7停止官方支持后,仅仅是不会提供新的更新和漏洞修补而已,然而事实是,新装的Win7,Windows Update完全无法使用,所有以前推出的更新都无法安装,微软的做法比XP更绝!Office 2010的激活服务器也访问不了,原创 2021-10-07 15:42:39 · 67972 阅读 · 9 评论 -
【原创工具】蓝牙串口无线烧写STM32程序的工具,支持HC-05和CC2541两种蓝牙模块
此工具采用C语言开发(纯C语言实现上位机,没有类,全都是函数),开放源代码,开发工具为Visual Studio 2010, 编译出来的程序可在Windows XP及以上的系统中运行。(也可以用更高版本的Visual Studio编译,但是版本太高的话,编译出来的程序就无法在XP系统中运行了)支持下载hex格式的程序。选择好hex格式的程序文件后,可以看到程序的大小,程序的Flash地址范围,程序的入口地址。程序可通过HC-05或CC2541蓝牙串口下载到STM32单片机中,当然直接用有线串口(U原创 2021-07-17 21:52:00 · 8745 阅读 · 11 评论 -
C语言通过ITaskbarList3控制Windows7任务栏图标上的进度条
【XP系统下的运行效果】原创 2021-04-10 22:45:50 · 481 阅读 · 1 评论 -
关于微软IE11浏览器文本框光标经常变粗,变形的bug
经检查,这个问题跟电脑是否装了edge浏览器,是否禁用了IE加载项(add-on),输入法是否选择的是英语输入法没有关系。跟系统里面启用了哪些语言的输入法有问题。原本笔者的电脑里启用了中文、英语、西班牙语和泰语四种语言的输入法。删除两个不用的语言,只保留中文和英文,问题就解决了。参考资料:https://answers.microsoft.com/en-us/ie/forum/ie11-windows_7/internet-explorer-11-text-box-cursor-...原创 2021-04-10 20:50:28 · 466 阅读 · 0 评论 -
GetOpenFileName函数打开选择文件的对话框,“我的电脑”里面什么都显示不出来的解决办法
如下图所示,其他文件夹都正常,就是“我的电脑”里面什么都没有。#include <tchar.h>#include <Windows.h>#include <CommCtrl.h>#pragma comment(lib, "comctl32.lib")#pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' v原创 2021-02-15 15:03:46 · 1265 阅读 · 0 评论 -
【程序更新】Marvell 88W8801测速器上位机程序和lwip2.1.2 dhcpd服务器更新(20200213)
源程序:https://blog.youkuaiyun.com/ZLK1214/article/details/104229202更新包下载地址:https://pan.baidu.com/s/1eJmmXnoT1qcxH7NQn6IF8A(提取码:zzr6)本次更新主要内容如下:(1)适用于lwip2.0.3和lwip2.1.2的DHCP服务器(DHCPD):用netif_ip4_addr(s...原创 2020-02-13 13:33:13 · 1273 阅读 · 0 评论 -
【程序】Windows下根据计算机名获取IP地址的C语言程序
方法一(当指定的设备不存在时,有可能返回的是本机的IP地址,所以不建议使用):#include <stdio.h>#include <WinSock2.h>#pragma comment(lib, "ws2_32.lib")// 根据计算机名获取IP地址LPIN_ADDR get_computer_ip(const char *name){ struc...原创 2018-03-17 20:17:53 · 2046 阅读 · 0 评论 -
【程序】给C++的cout和fstream添加Unicode支持,使其能向屏幕或文件输入/输出wchar_t字符串
【程序】#include #include #include #define RDBUF_LEN 200using namespace std;ostream &operator << (ostream &os, const wchar_t *wstr){ if (os == cout) WriteConsoleW(GetStdHandle(STD_OUTPUT_HAN原创 2016-07-16 15:20:15 · 4664 阅读 · 1 评论 -
【教程】Win32 WNDCLASS窗口类中的额外空间cbClsExtra和cbWndExtra的用法
先来讲讲wc.cbWndExtra这个成员,这个成员指定了系统为每个窗口分配多少字节的额外空间。创建窗口后,如果想要使用这段额外空间,可以使用以下六个函数之一:GetWindowWord(hWnd, n) // 从第n个字节开始,读取两个字节GetWindowLong(hWnd, n) // 从第n个字节开始,读取四个字节GetWindowLongPtr(hWnd, n) // 从原创 2016-02-25 12:05:31 · 3142 阅读 · 1 评论