正确调用DLL时,依然出现无法解析外部文件

C++开发时,正确调用外部DLL时,出现无法解析外部文件的错误,可能的原因: 接口文件中存在以下代码 #ifdef EXPORT_STDCALL #define CALL_STACK __stdcall #else #define CALL_STACK __cdecl #endif “属性...

2019-07-20 15:37:07

阅读数 1

评论数 0

string 转换为 LPCWSTR

LPCWSTR stringToLPCWSTR(std::string orig) { size_t origsize = orig.length() + 1; size_t convertedChars = 0; wchar_t *wcstring = (wchar_t *)mal...

2019-04-23 10:58:34

阅读数 31

评论数 0

获取dll所在路径

string GetPath() { string dllPath; TCHAR tcFullPath[MAX_PATH]; char* pChPath = new char[MAX_PATH]; memset(pChPath,'\0',MAX_PATH); GetModu...

2019-04-22 14:58:46

阅读数 18

评论数 0

签名,验签的理解

点击打开原文链接 一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用。数字2,就...

2019-04-09 11:13:04

阅读数 14

评论数 0

获取打印机设备环境DC的方法

点击打开原文地址

2019-04-09 09:56:41

阅读数 37

评论数 0

MFC中Invalidate() 和UpdateWindow()的用法

点击打开原文链接 Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系统,此时的窗口已经变为无效。强制系统调用WM_PAINT,而这个消息只是Post,就是将该消息放入消息队列,当执行到WM_PAINT消息时才会对窗口进行重绘; Upda...

2019-04-04 15:17:17

阅读数 79

评论数 0

WritePrivateProfileString等读写.ini配置文件

点击打开原文链接 1、写入.ini文件: BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也...

2019-04-04 13:45:45

阅读数 10

评论数 0

LoadLibrary函数详细说明

点击打开原文链接 1、作用: 将指定的模块加载到调用进程的地址空间中。 2、使用语法 HMODULE WINAPI LoadLibrary( _In_ LPCTSTR lpFileName ); 3、参数 lpFileName:模块的名称。这可以是库模块(.dll文件)或可执行模...

2019-04-04 13:30:53

阅读数 79

评论数 0

CFileFind用法总结

点击打开原文地址 CFileFind用法总结: 头文件:afx.h 功能:本地文件查找 具体类型文件:.格式,例如:.pdf:查找.pdf文件 所有 文件:. CFileFind类的构造函数::CFileFind()和关闭函数::Close(),成对使用。 成员函数根据操作特性分成三类:查找操...

2019-04-04 10:32:59

阅读数 28

评论数 0

CreateThread与_beginthreadex本质区别

点击打开原文链接 一、预热: 下面这个程序的主线程会创建了一个子线程并等待其运行完毕,子线程就输出它的线程ID号然后输出一句经典名言——Hello World。整个程序的代码非常简短,只有区区几行。 //最简单的创建多线程实例 #include <stdio.h&gt...

2019-04-04 10:08:27

阅读数 12

评论数 0

线程中CreateEvent和SetEvent及WaitForSingleObject的用法

点击打开原文链接 一、 CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面. EVENT有两种状态:发信号,不发信号。 SetEvent:将EVENT置为发信号。 ResetEvent:将EVENT置为不发信号。 WaitForSingleOb...

2019-04-03 17:35:19

阅读数 14

评论数 0

DeleteDC() 与 ReleaseDC() 的区别

点击打开原文链接 DeleteDC 该函数删除指定的设备上下文环境(DC)。 原型: BOOL DeleteDC(HDChdc); 参数: hdc:设备上下文环境的句柄。 返回值: 成功,返回非零值;失败,返回零。调用GetLastError获取扩展错误信息。 说明: 如果一个...

2019-04-03 16:30:12

阅读数 20

评论数 0

m_hWnd和this指针

点击打开原文链接 一、m_hWnd 1、m_hWnd这个成员变量最早是定义在类CWnd中,而且是类CWnd的第一个数据成员。它是窗口类的一个句柄,凡是从CWnd派生的类都有这个句柄,凡是以CWnd派生的类定义的对象内部也都有这个句柄,它是类或者对象标识自己的句柄。 凡是窗口都有一个句柄用来标...

2019-04-03 16:00:09

阅读数 6

评论数 0

MFC中的模态对话框与非模态对话框

点击打开原文链接 模态对话框创建: MyDialog mydlg; mydlg.DoModal() 当前只能运行此模态对话框,且停止主窗口的运行,直到模态对话框退出,才允许主窗口运行。 模态对话框的关闭顺序: OnClose:按关闭符号X后,响应WM_CLOSE消息; OnKillF...

2019-04-03 15:12:33

阅读数 26

评论数 0

扩大下C盘空间

点击打开原文链接 1、在桌面“我的电脑”右键,找到“管理”,如图: 2、在“管理”对话框内,找到“磁盘管理”,如图: 3、在“磁盘管理”里面找到D盘,鼠标右键,“压缩卷”,在如下图的红框内,填入压缩的大小。 4、鼠标右键C盘,点击“扩展卷”,即可。 注意: 1、若C盘的“扩...

2019-04-01 19:27:31

阅读数 52

评论数 0

new对象时,类名后加括号与不加括号的区别

点击打开原文链接 #include <iostream> using namespace std; // 空类 class empty { }; // 一个默认构造函数,一个自定义构造函数 class Base { public: Base() ...

2019-04-01 09:59:35

阅读数 129

评论数 0

Unicode 和 UTF-8 有何区别?

点击打开原文链接 简单来说: Unicode 是「字符集」 UTF-8 是「编码规则」 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名:码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节...

2019-03-31 17:19:10

阅读数 36

评论数 0

WideCharToMultiByte和MultiByteToWideChar函数的用法

点击打开原文链接 辅助链接 WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。 MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。 常用的代码页有CP_ACP和CP_UTF8两个。使用CP_ACP代码页就实现了ANSI与...

2019-03-31 15:54:33

阅读数 13

评论数 0

RSA加密算法c++简单实现

点击打开原文 RSA是一种非对称加密算法,在公开密钥和电子商业中RSA被广泛使用。它是基于一个很简单的数论事实,两个素数相乘很容易,对两素数乘积因式分解很困难。原理就不再阐述了,我谈谈算法的编程实现过程。 一、RSA加密和解密过程是基于以下形式,其中明文为M,密文为C,公匙PU={e, n}...

2019-03-29 13:59:20

阅读数 74

评论数 0

利用libqrencode生成二维码并保持成bmp图片

点击打开原文链接 QR code二维码简介及Qrencode库的移植与使用 //QRGenerator.h #pragma once #include <string> using std::string; #define OUT_FILE_PIXEL...

2019-03-29 10:47:08

阅读数 51

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭