Simple

Simple 查看完整档案

杭州编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

Simple 发布了文章 · 4月2日

WinDbg

1.选择打开进程
image.png
2.打开对应的正在运行的进程
image.png

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-12-16

Duilib 打包资源文件到exe

  • 压缩文件
  • 添加资源文件
virtual LPCTSTR GetResourceID() const
{
    return MAKEINTRESOURCE(资源ID);
};
virtual UILIB_RESOURCETYPE GetResourceType() const
{
    return UILIB_ZIPRESOURCE;
};
查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-12-16

DuiLib -- HandleMessage HandleCustomMessage MessageHandler

HandleMessage HandleCustomMessage MessageHandler 三者区别

LRESULT CWindowWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    return ::CallWindowProc(m_OldWndProc, m_hWnd, uMsg, wParam, lParam);
}
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled);
    if (bHandled) return lRes;

    if (m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes))
        return lRes;
    return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
}
//CWindowWnd是父类,WindowImplBase是子类
class UILIB_API WindowImplBase : public CWindowWnd


如果派生类 如果实现这些虚函数 执行顺序如下:
HandleMessage --> HandleCustomMessage --> MessageHandler


因此只要实现HandleCustomMessage即可
查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-12-04

基于libcurl实现自己的http类

get post 上传文件 下载文件~~~~

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-12-04

C++ 线程池

C++ 实现线程池

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-11-25

C++ DLL和LIB

dll和lib

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-11-19

C++ 多线程

CreateEvent

CreateEvent(
    __in_opt LPSECURITY_ATTRIBUTES lpEventAttributes,
    __in     BOOL bManualReset,
    __in     BOOL bInitialState,
    __in_opt LPCSTR lpName
    );

bManualReset: 指定将事件对象创建成手动复原还是自动复原。
如果是TRUE, 那么必须用ResetEvent函数来手工将事件的状态复原到无信号状态。  
如果是FALSE,当事件被一个等待线程释放以后,系统将会自动将事件状态复原为无信号状态。

bInitialState:指定事件对象的初始状态;  
当TRUE, 初始状态为有信号状态;  当FALSE, 初始状态为无信号状态。

SetEvent / ResetEvent

分别将EVENT置为这两种状态分别是有信号状态与无信号

WaitForSingleObject / WaitForMultipleObjects

WaitForSingleObject(
    _In_ HANDLE hHandle,
    _In_ DWORD dwMilliseconds
    );
    
参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值但时间事件还是无信号状态则返回WAIT_TIMEOUT。

WaitForSingleObject 的返回值有以下三种情况:
WAIT_OBJECT_0:表示你等待的对象(比如线程、互斥体)已的正常执行完成或完成释放。
WAIT_TIMEOUT:表示你等待的对象在还没完成之前,由 WaitForSingleObject 设置的时间已经超时。
WAIT_ABANDONED:这是针对等待对象是互斥体的情况,当互斥体对象虽然没有被占用它的线程释放,但是占用它的线程已提前中止时,WaitForSingleObject 就返回此值。

WaitForSingleObject函数用来检测 hHandle事件的信号状态
当函数的执行时间超过dwMilliseconds就返回,
如果参数dwMilliseconds为INFINITE时 函数将直到相应时间事件变成有信号状态才返回,否则就一直等待下去,直到WaitForSingleObject有返回直才执行后面的代码。
创建线程

AfxBeginThread

CreateThread

thread(C++11)

线程同步

WaitForSingleObject

WaitForMultipleObjects

  • 临界区(CCriticalSection)
  • 事件(CEvent)
  • 互斥量(CMutex)
  • 信号量(CSemaphore)

线程通信(发消息 发数据)

PostMessage

PostThreadMessage

网络编程

内存池 / 线程池 / 数据库(sqlite)/ 日志操作 缓存 / 脚本

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-09-23

SendMessage,PostMessage,PostThreadMessage, SendMessageTimeOut

SendMessage

PostMessage

PostThreadMessage

SendMessageTimeOut

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-09-22

Windows进程通信

在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有

使用内存映射文件

通过共享内存DLL共享内存

使用SendMessage向另一进程发送WM_COPYDATA消息

查看原文

赞 0 收藏 0 评论 0

Simple 发布了文章 · 2020-09-22

window客户端常用API整理(供以后自己查看)

AfxBeginThread

ShellExecute

EnumChildWindows

OutputDebugString

AFX_MANAGE_STATE(AfxGetStaticModuleState())

待补充

查看原文

赞 0 收藏 0 评论 0

认证与成就

  • 获得 3 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-08-12
个人主页被 1k 人浏览