- 博客(11)
- 收藏
- 关注
原创 windows删错文件,不开机,开机异常,不显示桌面,进不了系统等拯救方法。
经过一番摸索发现$Ixxx开头的都不是原始文件,原始文件是对应名字的$Rxxx开头的。$I里面存了对应$R文件的原始文件名字。一般会想到通过PE盘去回收站找回,但是实际情况是回收站没有东西,此时盘符不会和进入系统一样,但是对应上盘符后的回收站也是没有东西。那就去分区工具看啊,对吧。这里只是拿PDF举例,因为有中文所以乱码,一般系统文件不会乱码。将$Rxxx 改成原始文件名字并且替换到删除位置即可以正常开机。适用前提:系统已经无法去到回收站找回文件。
2024-08-21 22:31:52
172
原创 少量代码实现大量IO控制,通用扩展性强。通过命令控制单片机IO,命令可任意组合,一次控制多个IO状态。
可以看到,在命令注册的时候命令码是没有CLOSE和OPEN的,实际指令中只要包含了命令头就会再次比对子串是否包含OPEN和CLOSE,然后给结构体的引脚状态赋值。假设每一个命令码“input”用逗号分割(例如cmd1,cmd2,....),对命令码按照","进行拆分,拆分后使用。如果需要增加端口控制,只需要在pCommandMap map[]中再添加对应的命令码和要控制的端口和引脚即可实现。定义一个结构体描述命令码、命令码所对应要操作的单片机PORT和PIN以及要操作的状态。
2024-08-08 11:03:11
333
原创 CubeMX生成代码运行卡死,重复生成,二次生成,异常,卡死 SystemClock_Config HAL_RCC_OscConfig __HAL_RCC_GET_FLAG
首次生成能正常运行,但是在什么都没有修改的情况下再次生成就会卡死在__HAL_RCC_GET_FLAG函数触发错误中断。尝试将这三个文件在第二次生成前备份,第二次生成后再还原到原来位置。一番尝试后问题被解决,应该是CubeMX的bug,但是别的芯片是正常的,可能也和芯片包有关,但是换了芯片包依然一样。第二次生成后运行这个脚本就可以恢复第一次生成的效果,同时代码和各种配置确是最新的。其中Houer内为工程目录,backpro为备份的正常的上述三个文件,此脚本可以将它们备份到backpro中。
2024-08-07 09:02:59
262
原创 C++ 按照字符串子串分割字符串 boost
今天想要在一个字符串中按照特定子串分割字符串,但是发现boost::split 只能分割单个字符,string类也没有相关的方法。于是结合string::find 和 string::sub_str 实现了对任意字符串的任意子串的分。割,不限制子串位置。
2022-10-09 11:31:57
666
1
原创 win10 设置默认字体大小 字体变大问题 非缩放 恢复字体大小
修改注册表 HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics 下的选项。前几天远程控制笔记本,但是笔记本盖子是关着的,不知道怎么回事发现字体异常的大,缩放设置不起作用。将以下内容保存为reg格式和双击注册即可还原。
2022-10-08 10:21:39
1423
1
原创 pyinstaller打包指南,No module named xxx,is only available if OpenCV is installed.虚拟环境打包
前言不知道大家用pyinstaller打包时候是否经常出现各种找不到依耐的抱错,在调试时候正常,一打包就嗝屁了。今天就针对pyinstaller踩坑过程来简短总结一下。 首先我这里使用的是python3.9 + pycharm环境进行开发的,当然其它的也可以,我更建议也使用pycharm。 在进行打包之前需要先了解虚拟环境和全局环境,可能你在调试的时候是使用的虚拟环境,但是打包的时候又使用了全局环境,这样一来两个环境的库不是相互包含的也是出现找不到模块...
2021-12-16 10:58:17
5711
原创 C++将32位字符串格式数据转换成十进制字符串
避免歧义直接看效果:计算器验证:代码段:#include <iostream>#include <string> #include <afx.h> using namespace std; int main(){ string data1 = "002FD25D"; char data2[128] = {0}; unsigned char data3[128] = {0}.
2021-11-02 23:08:38
795
原创 opencv创建窗口置于顶层去掉菜单栏
先看效果:下面是代码示例:while(true){ ....... ....... char szName[32] = { 0 }; sprintf_s(szName, "Camera%d", m_index); cv::namedWindow(szName, 0); cv::resizeWindow(szName, nWidth_, nHight_); cv::moveWindow(szName, xPos_, yPos_); cv::imshow.
2021-09-27 09:06:05
1689
原创 LoadLibraryEx返回空GetLastError() = 126的解决方法
看了很多方法,路径正确,没有dll其它依耐,最终发现以前填写路径时没有提示字符串类型错误的问题。于是进行强制类型转换,但是这样不抱错但是会找不到路径。于是在项目属性中修改字符集发现即可加载成功,并且不提示字符串类型不正确。...
2021-09-08 10:33:22
1527
原创 获取当前dll自身的路径
当EXE和EXE调用的dll不在 一个目录时,想在dll处获取自身的路径的方法:string GetCurrentModule(){ HMODULE hModule = NULL; char DLLPATH[MAX_PATH + 1] = { 0 }; GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(LPCTSTR)GetCurrentModule,&hModule); //---- ::GetModuleF
2021-08-25 15:15:02
2463
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人