![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
yu_sn0w
这个作者很懒,什么都没留下…
展开
-
QT 禁止DPI 缩放
DPI 禁用原创 2023-02-24 17:20:21 · 936 阅读 · 0 评论 -
封装调用C++类的成员子对象的函数
利用宏调用类的成员子对象的任意函数原创 2022-09-23 15:21:57 · 438 阅读 · 0 评论 -
解决 501 版本之后不显示系统 tooltips 的问题
TOOLINFO ti; memset(&ti, 0, sizeof(TOOLINFO)); #if _WIN32_WINNT>0x0500 ti.cbSize = sizeof(TOOLINFO)-sizeof(void*); #else ti.cbSize = sizeof(TOOLINFO); #endif原创 2022-06-17 10:27:37 · 106 阅读 · 0 评论 -
利用DirectShow简单判断摄像头权限并预览
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include "windows.h" #include "TCHAR.h" #include <dshow.h>LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam...原创 2022-03-14 15:58:31 · 255 阅读 · 0 评论 -
C++ 判断字符是Emoji表情
int IsEmojiChar(wchar_t _ch1, wchar_t _ch2){ if ((0XD800 <= _ch1) && (_ch1 <= 0XDBFF)) { UINT _tmp = ((_ch1 - 0XD800) * (UINT)0X400) + (_ch2 - 0XDC00) + (UINT)0X10000; if (0X1D00 <= _tmp && _tmp <= 0X1F77F) { retur..原创 2021-06-28 16:55:47 · 881 阅读 · 0 评论 -
vs2015 编译 x64 Cef 的方法
cmakecmake-G"VisualStudio14Win64" D:\....\cef -B D:...\cef\build 产生的就是 64 位配置的工程wenj原创 2021-06-23 19:59:43 · 264 阅读 · 0 评论 -
DuiLib 避免会绘制系统默认白底标题栏的方法
窗口的xif (uMsg == WM_NCACTIVATE) { if (!::IsIconic(m_hWnd)) { return (wParam == 0) ? TRUE : FALSE; } } else if (uMsg == WM_NCCALCSIZE) { return 0; } else if (uMsg == WM_NCPAINT) {...原创 2021-06-09 19:20:33 · 132 阅读 · 0 评论 -
处理 __iob_func 无法链接的问题
转自:http://www.cnblogs.com/ubosm/p/5444919.html使用vs2015编译ffmpeg的一个小项时,出现了__imp__fprintf和__imp____iob_func 的错误,google了一下,有的人 建议下载SDL源码重新编译一下,当然这个方案非常不科学。所以又继续搜,终于有所发现。这是老外的原话:In visual studio 2015, stdin, stderr, stdout are defined as follow :#defin转载 2021-05-10 11:19:19 · 482 阅读 · 0 评论 -
程序无法启动0xc000007b 的终极处理办法
网上有很多教程,总结起来就是缺库。所以用直接粗暴处理。能运行和不能运行的两个环境 C:\windows*wow64 目录(32位之类的换目录即可)进行对比。将不同文件直接拷贝过去即可。可以根据使用的IDE 工具集选需要的比如 vs2015 对应 **140 *.dll。...原创 2021-03-17 14:45:36 · 311 阅读 · 0 评论 -
GDT 表与段选择子等解析
全局描述表(GDT Global Descriptor Table):在保护模式下一个重要的数据结构。GDT可以被放在内存的任何位置,那么当程序员通过段寄存器来引用一个段描述符时,CPU必须知道GDT的入口,也就是基地址放在哪里,所以Intel的设计者门提供了一个寄存器GDTR用来存放GDT的入口地址,程序员将GDT设定在内存中某个位置之后,可以通过LGDT指令将GDT的入口地址装入此寄存器,从此以后,CPU就根据此寄存器中的内容作为GDT的入口来访问GDT了。GDT是保护模式所必须的数据结构,也是唯一原创 2020-09-17 15:05:11 · 1594 阅读 · 0 评论 -
Windows 内核编程
转载转载 2020-09-07 17:56:41 · 147 阅读 · 0 评论 -
封装统一模板调用动态库(dll)
enum CallLibType{ eStdCall, eCdecl, eFastCall};template<typename ResultType, typename ...params>void CallLibrary(CallLibType eType, std::string strDll, std::string strFuncName, ResultType& ret, params... para){ HMODULE hd = LoadLibraryA原创 2020-07-24 10:55:33 · 242 阅读 · 0 评论 -
构造线程任务函数,允许任意任意函数作为任务
构造线程任务函数,允许任意调用任意函数int fun1(int a){ std::cout << a << std::endl; return 0;}int fun2(int a, int b){ std::cout << a << " " << b << std::endl; return 0;}void fun3(std::string str){ std::cout << str <&原创 2020-07-21 16:01:25 · 122 阅读 · 0 评论