09 2023 档案

摘要:一、WSACreateEvent函数 WSACreateEvent函数是Windows套接字API中的一部分,它用于创建套接字事件对象,以便在套接字操作上等待事件发生。这个函数通常与异步套接字操作一起使用,以允许应用程序异步地等待套接字事件的发生,而不需要阻塞线程。 函数原型: WSAEVENT W 阅读全文
posted @ 2023-09-29 13:12 TechNomad 阅读(226) 评论(0) 推荐(0) 编辑
摘要:#include <windows.h> #include <iostream> void copTextToClipboard(const char* textToCopy) { // 打开剪切板 if (!OpenClipboard(NULL)) { std::cout << "无法打开剪切板" 阅读全文
posted @ 2023-09-28 11:38 TechNomad 阅读(67) 评论(0) 推荐(0) 编辑
摘要:一、select模型的特点 select 函数通常用于多路复用(multiplexing)操作,允许你同时监视多个套接字(sockets)的状态,并在其中任何一个套接字准备好进行 I/O 操作时进行响应。 以下是 select 模型的特点和作用: 并发处理多个套接字: select 允许你同时监视多 阅读全文
posted @ 2023-09-27 22:27 TechNomad 阅读(613) 评论(0) 推荐(0) 编辑
摘要:一、VirtualAllocEx函数 VirtualAllocEx 用于在另一个进程的虚拟地址空间中分配内存。这个函数通常与其他进程间内存操作函数一起使用,允许一个进程分配内存并将其映射到另一个进程的地址空间中。 函数原型: LPVOID VirtualAllocEx( HANDLE hProces 阅读全文
posted @ 2023-09-26 17:56 TechNomad 阅读(385) 评论(0) 推荐(0) 编辑
摘要:一、动态链接库 库头文件: #pragma once #include <Windows.h> extern "C" { __declspec(dllexport) void __stdcall SetHookVal(HHOOK hookVal); __declspec(dllexport) LRE 阅读全文
posted @ 2023-09-26 17:26 TechNomad 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、WSAStartup函数 WSAStartup 是 Windows 套接字 API 中的一个函数,它用于初始化 Winsock 库,这是 Windows 中用于网络编程的库。使用 Winsock,您可以创建客户端和服务器应用程序,以便它们能够通过网络进行通信。 函数的原型如下: int WSAS 阅读全文
posted @ 2023-09-24 23:45 TechNomad 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一、SetWindowsHookEx函数 SetWindowsHookEx 是用于在Windows操作系统中设置全局或本地的钩子(hook)。钩子是一种用于监视并拦截特定事件或消息的机制,通常用于拦截和处理键盘输入、鼠标操作、窗口消息等。SetWindowsHookEx 允许你安装一个全局或本地的钩 阅读全文
posted @ 2023-09-21 16:13 TechNomad 阅读(907) 评论(0) 推荐(0) 编辑
摘要:一、创建目标DLL文件 DLL名称:targetdll.dll 头文件(targetdll.h): #pragma once __declspec(dllexport) void __stdcall hello(); __declspec(dllexport) int __stdcall add(i 阅读全文
posted @ 2023-09-21 11:37 TechNomad 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一、设置注册表项的值 RegCreateKeyEx函数 RegCreateKeyEx 函数是 Windows API 中的一个函数,用于创建或打开注册表中的一个指定键的子键(子项)。通过该函数,您可以创建新的注册表子项,或者打开现有的子项以进一步操作。 函数原型: LONG RegCreateKey 阅读全文
posted @ 2023-09-20 15:03 TechNomad 阅读(540) 评论(0) 推荐(0) 编辑
摘要:一、InterlockedAdd函数 InterlockedAdd 是 Windows API 中的一个原子操作函数,用于在多线程环境下对一个变量执行原子加法操作。原子操作是指在执行期间不会被其他线程中断,从而确保多线程环境下的数据一致性。 函数原型: LONG InterlockedAdd( LO 阅读全文
posted @ 2023-09-19 17:02 TechNomad 阅读(186) 评论(0) 推荐(0) 编辑
摘要:一、线程池概念介绍 1.线程的执行流程 2.线程池原理 二、线程池异步函数的调用 1.TrySubmitThreadpoolCallback函数 TrySubmitThreadpoolCallback 函数是Windows操作系统提供的一个函数,它用于将回调函数提交到线程池中以异步执行。线程池是一组 阅读全文
posted @ 2023-09-18 21:14 TechNomad 阅读(652) 评论(0) 推荐(0) 编辑
摘要:一、debugview本地调试 代码中通过OutputDebugString()函数打印印象: for (int i = 0; i < 10; i++) { OutputDebugString(TEXT("hello word")); } 程序编程成功后,先打开DebugView Include:默 阅读全文
posted @ 2023-09-18 18:21 TechNomad 阅读(160) 评论(0) 推荐(0) 编辑
摘要:一、文件的异步写入 #include <Windows.h> #include <stdio.h> int main() { HANDLE hFile = CreateFile(TEXT("test.txt"), GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN 阅读全文
posted @ 2023-09-17 16:19 TechNomad 阅读(97) 评论(0) 推荐(0) 编辑
摘要:一、文件的创建 CreateFile 是一个 Windows API 函数,用于创建或打开文件、设备、目录或管道。它是 Windows 操作系统中文件和 I/O 操作的基础之一。CreateFile 允许你指定文件的访问方式、共享模式、创建选项等,并返回一个文件句柄,通过该句柄可以执行读取、写入、关 阅读全文
posted @ 2023-09-17 10:51 TechNomad 阅读(190) 评论(0) 推荐(0) 编辑
摘要:一、线程概念 (1).Windows线程是可以执行的代码的实例,系统是以线程为单位调度程序,一个程序当中可以有多个线程,实现多任务的处理 (2).Windows线程的特点: 线程都具有一个ID 每个线程都具有自己的内存栈 同一进程中的线程使用同一个地址空间 (3).线程的调度:操作系统将CPU的执行 阅读全文
posted @ 2023-09-16 15:28 TechNomad 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、动态库的特点 运行时独立存在 源码不会链接到执行程序 使用时加载(使用动态库必须使用动态库执行) 与静态库的比较:由于静态库是将代码嵌入到使用程序中,多个程序使用时,会有多份代码,所有代码体积会增大,动态库的代码只需要存在一份,其他程序通过函数地址使用,所以代码体积小;静态库发生变化后,新的代码 阅读全文
posted @ 2023-09-16 11:20 TechNomad 阅读(85) 评论(0) 推荐(0) 编辑
摘要:一、静态库的特点 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 二、C语言静态库 1.C静态库的创建 创建一个静态库项目 添加库程序,源文件使用C文件 2.C静态库的使用 库路径的设置:可以使用pragma关键字设置;#pragma comment(lib, "../lib/clib.l 阅读全文
posted @ 2023-09-15 23:16 TechNomad 阅读(51) 评论(0) 推荐(0) 编辑
摘要:一、对话框原理 (1).对话框的分类 模式对话框:当对话框显示时,会禁止其他窗口和用户交互操作 无模式对话框:在对话框显示后,其他窗口仍然可以和用户交互操作 (2).对话框基本使用 对话框窗口处理函数 注册窗口类(不使用) 创建对话框 对话框的关闭 对话框窗口处理函数(并非真正的对话框窗口处理函数) 阅读全文
posted @ 2023-09-15 00:04 TechNomad 阅读(89) 评论(0) 推荐(0) 编辑
摘要:一、绘图基础 绘图设备DC(Device Context),绘图上下文/绘图描述表 HDC:DC句柄,表示绘图设备 GDI:Windows graphics device interface(Win32提供的绘图API) 颜色的使用:COLORREF:实际DWORD;例如:COLORREF nCol 阅读全文
posted @ 2023-09-12 22:15 TechNomad 阅读(407) 评论(0) 推荐(0) 编辑
摘要:一、改造main入口 main()函数仅负责创建服务分配表并且启动控制分派机制,程序的入口还是和普通控制台程序一样,但是建议不要在main函数中直接编写服务的程序逻辑,因为如果不能尽快的开启派遣并完成服务注册的话,服务控制管理器最终会强制终止程序。改造号的main函数主要用于启动服务入口派遣,Sta 阅读全文
posted @ 2023-09-12 19:38 TechNomad 阅读(145) 评论(0) 推荐(0) 编辑
摘要:一、菜单资源的使用 1.菜单的分类 窗口的顶层菜单 弹出式菜单 系统菜单 HMENU类型表示菜单,ID表示菜单项 2、菜单资源的使用 (1).注册窗口类时设置菜单 (2).创建窗口传参设置菜单 (3).在主窗口WM_CREATE消息中利用SetMenu函数设置菜单 加载菜单资源 HMENU Load 阅读全文
posted @ 2023-09-10 23:19 TechNomad 阅读(117) 评论(0) 推荐(0) 编辑
摘要:一、Windows的消息概念 1.消息组成: 窗口句柄 消息ID 消息的两个参数(两个附带信息) 消息产生的时间 消息产生时鼠标位置 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWOR 阅读全文
posted @ 2023-09-06 23:10 TechNomad 阅读(275) 评论(0) 推荐(0) 编辑
摘要:一、窗口创建过程 定义WinMain函数 定义窗口处理函数(自定义,处理消息) 注册窗口类(向操作系统写入一些数据) 创建窗口(内存中创建窗口) 显示窗口(绘制窗口的图像) 消息循环(获取/翻译/派发消息) 消息处理 示例代码: #include <Windows.h> //窗口处理函数(自定义,处 阅读全文
posted @ 2023-09-05 23:39 TechNomad 阅读(208) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示