Windows
捕鲸叉
这个作者很懒,什么都没留下…
展开
-
手写Visual C++软件内存泄漏检测代码
简单快捷的VC++程序泄漏检测代码原创 2022-10-29 21:31:49 · 168 阅读 · 0 评论 -
Windows 为什么需要资源句柄
Windows 为什么需要资源句柄原创 2022-07-29 14:32:46 · 316 阅读 · 0 评论 -
VC开发非MFC程序内存泄漏跟踪代码
WINDOWS 环境下使用VC开发非MFC程序内存泄漏跟踪代码原创 2022-07-03 18:26:59 · 265 阅读 · 0 评论 -
在Windows/QT环境编程中同时catch C++异常和SEH异常
代码如下://.hclass CONTROLLER_API CExceptionGuard{public: CExceptionGuard(); ~CExceptionGuard();private: class Impl; Impl* prd;};// .cppclass SE_Exception : public std::exception{private: const unsigned int nSE;public: SE_Exception() noe原创 2022-04-28 12:10:40 · 1831 阅读 · 0 评论 -
在Windows中编译libevent库步骤
1. 从下面的网页中下载和安装 Win64OpenSSL-1_1_1n.msi , 全部照缺省设置安装即可Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)2. 到git下载libevent库https://github.com/libevent/libevent.git33. CMake配置libevent项目勾选 EVENT__DISABLE_MBEDTLSOPE原创 2022-04-27 00:12:38 · 1763 阅读 · 0 评论 -
DLL远程注入一则
1. 线程注入一注入的可行性 kernel32.dll 和 user32.dll 是两个在大部分程序上都会调用的 DLL 同一个 DLL,在不同的进程中,不一定被映射(加载)在同一个内存地址下。但是 kernel32.dll和 user32.dll 例外。他们总是被映射到进程的内存首选地址因此,在所有使用这两个 DLL 的 进程中,这两个 DLL 的内存地址是相同的。我们在本进程获取的 kernel32.dli 中函数的地址, 在目标进程中也是一样的。2. 涉及的 API OpenProce原创 2022-04-24 00:14:24 · 302 阅读 · 0 评论 -
使用批处理文件递归删除C++项目中的.git文件夹和VC生成文件
使用.bat文件可以方便的进行如标题所示的文件。.bat文件的内容可以象下面这样@echo Offdel /F /s /a *.suo *.dll *.exe *.sha512 *.db *.ncb *.user *.pdb *.netmodule *.aps *.ilk *.plg *.opt *.idb *.obj *.sbr *.exp *.tlh *.tli *.clw *.pch *.res *.sdf *.ipch *.log *.tlogsetlocal enabledela原创 2022-04-20 17:57:00 · 370 阅读 · 0 评论 -
MFC Ribbon定制方法一则
本文代码来自Adding New Theme Variations to the MFC Ribbon (CMFCVisualManager) - CodeProject下面的主要类代码出自上述文章,涉及权力由该作者所有1. 头文件 MFCVisualManagerDeviant.h#pragma once// CMFCVisualManagerDeviant command targetclass CMFCVisualManagerDeviant : public CMFCVisu原创 2022-04-02 09:52:41 · 728 阅读 · 0 评论 -
简单的Windows套接字异步编程
1. 头文件#pragma once#include <functional>#include <sstream>class CWinAsyncServer{public: //ret 0: SUCCESS //receiver和sender会运行在各自的线程中,其线程由这个函数内部启动。 int createServer(int port, std::function<void(SOCKET)>& receiver, std::fun原创 2022-03-31 16:33:16 · 1798 阅读 · 0 评论 -
一个基于QT支持定时器的控制台程序例子
程序运行在Windows平台下。非阻塞控制台编程例子。、#include <Windows.h>#include <QtCore/QCoreApplication>#include <QtCore/QTimer>#include <iostream>#include <conio.h>#include <string>#include <QtCore/QTimer>#include "../xxContr原创 2022-03-27 23:35:17 · 933 阅读 · 0 评论 -
C++使用new 和new[]操作符分配内存时的调用栈跟踪显示2
我们可以通过这个技术分析内存泄漏的调用函数和位置。#include <Windows.h>#include <ImageHlp.h>#include <iostream>#include <string>#include <atlutil.h>#include <memory>#pragma comment(lib, "ImageHlp.lib")LONG DumpExceptStack(LPEXCEP.原创 2022-03-17 13:04:03 · 807 阅读 · 0 评论 -
MFC/QT混合编程时使用QMessageBox一例
MFC/QT混合编程的方法可以参考这个链接:MFC/QT混合编程官方方法1. 使用QMessageBox可以这样:void CJxDicomerApp::OnTest(){ QWinWidget* parent = new QWinWidget(AfxGetMainWnd()->m_hWnd); QMessageBox::information(parent, QString::fromStdWString(L"MFC下使用QMessageBox"), QString::fromS原创 2022-03-15 16:46:03 · 775 阅读 · 0 评论 -
使用函数钩子实现打印throw异常时的调用栈
#include <Windows.h>#include <winnt.h>#include <Dbghelp.h>#include <excpt.h>#include <ehdata.h>#include <exception>#include <iostream>#include <thread>#pragma comment(lib, "Dbghelp.lib")void DumpM.原创 2022-03-09 18:02:50 · 515 阅读 · 0 评论