07 2019 档案
摘要:CSharedCriticalSection 实现临界区的访问:加锁、去锁 CSharedMutex 实现临时窃取临界区对象,然后加锁,对象销毁时又会去锁,然后归还对象 class CSharedCriticalSection { public: CSharedCriticalSection() {
阅读全文
摘要:beyond compare 4.2.9桌面右键集成的问题修复 安装后,发现在WIN64时,注册表中注册的DLL库有问题 出错处: [HKEY_CLASSES_ROOT\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}\InProcServer32] @="D
阅读全文
摘要:递归创建目录1: 需要#include <shlwapi.h>,并且配置好shlwapi.ib BOOL CreateDirTree( LPCTSTR lpPath ) { if( NULL == lpPath || _tcslen(lpPath)==0 ) { return FALSE; } if
阅读全文
摘要:代码参考了如下网页的实现: https://www.cnblogs.com/zy791976083/p/9921069.html 整理成一个函数: BOOL GetResGifSize(long nResId, LPCTSTR name, long *lnWidth, long *lnHeight)
阅读全文
摘要:在关于对话框中,自动获取当前程序的版本,以显示 在CAboutDlg的OnInitDialog接口添加如下代码,将自动从当前程序EXE文件中读取版本信息,并显示在指定CStatic中 BOOL CAboutDlg::OnInitDialog() { CDialogEx::OnInitDialog()
阅读全文
摘要:一个通用的C++结构定义如下: typedef struct tagCommonStruct { long len; void* buff; }CommonStruct_st; 此接口对应的普通序列化、反序列化接口如下: unsigned char* EncodeCommonStruct(const
阅读全文
摘要:接触GMSSL一段时间了,总结一点点想法 证书:DER格式、PEM格式 .DER = DER扩展用于二进制DER编码证书。 .PEM = PEM扩展用于不同类型的X.509v3文件,是以“ - BEGIN ...”前缀的ASCII(Base64)数据。 DER格式是二进制的,PEM则是文本格式, 实
阅读全文
摘要:先获取控件的高、宽,然后获取图像的高、宽,测试需要调整高还是调整宽 void CImagePreviewStatic::DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/) { Unit units; CRect rect; if (m_img2 != NU
阅读全文
摘要:#include "crypto/encode/base64.h" static const std::string base64_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789+/"; st
阅读全文
摘要:GITHUB链接:https://github.com/brofield/simpleini 主体代码: /** @mainpage <table> <tr><th>Library <td>SimpleIni <tr><th>File <td>SimpleIni.h <tr><th>Author <
阅读全文
摘要:最近遇到一个要求,将原来的OCX控件,替换成直接的DLL调用。 遇到OLE的事件回调,写了三个宏,用于简化代码 #define OLE_ENVENT_IN_CLASS_ONE(event_name, func_ret_type, param_type , param_name) \ public:
阅读全文
摘要:void base64_encode_s(const unsigned char *str, long inlen, std::string& outstr, long* lpBufLen) { long len; long str_len; //unsigned char *res; //std:
阅读全文
摘要:CString GetSuffix(CString strFileName) { return strFileName.Right(strFileName.GetLength()-strFileName.ReverseFind('.')-1); } std::string GetSuffix(con
阅读全文
摘要:BOOL GetFullTempFileName(const TCHAR* strPrefix, std::wstring& strFullName) { TCHAR strTempFolder[MAX_PATH]; TCHAR strTempFileName[MAX_PATH]; DWORD dw
阅读全文
摘要:std::string& str_toupper(std::string& s) { std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c){ return ::toupper(c); } // correct ); ret
阅读全文
摘要:std::string& ltrim(std::string& str, const std::string& chars = "\t\n\v\f\r "); std::string& rtrim(std::string& str, const std::string& chars = "\t\n\
阅读全文
摘要:unsigned char HEX2BYTE(unsigned char hex_ch) { if (hex_ch >= '0' && hex_ch <= '9') { return hex_ch - '0'; } if (hex_ch >= 'a' && hex_ch <= 'f') { retu
阅读全文