![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
win32 API
文章平均质量分 60
windows API函数
单于大爷
一招鲜吃遍天,一招制敌,一通百通!
展开
-
WindowsAPI GetLastError函数信息只报ID号,将错误信息写一个头文件(“GetLastError.h”)来实现,用一个函数(RetGetLastError(INT))解决问题
WindowsAPI GetLastError函数信息只报ID号,将错误信息写一个头文件(“GetLastError.h”)来实现,用一个函数(RetGetLastError(INT))解决问题原创 2022-11-30 12:24:47 · 629 阅读 · 1 评论 -
WinAPI 对话框DialogBox、EndDialog、MAKEINTRESOURCE(资源转化宏)、窗口消息处理函数(返回值为FALSE)
WinAPI 对话框DialogBox、EndDialog、MAKEINTRESOURCE(资源转化宏)、窗口消息处理函数(返回值为FALSE)原创 2022-11-29 16:54:00 · 574 阅读 · 0 评论 -
WindowsAPI函数 CreateFile打开文件、ReadFile读取文件、WriteFile写入文件
WindowsAPI函数 CreateFile打开文件、ReadFile读取文件、WriteFile写入文件原创 2020-01-05 02:48:06 · 1803 阅读 · 0 评论 -
Windows线程 信号量 CreateSemaphore创建信号量、RelaseSemaphore设置信号量
Windows线程 信号量 CreateSemaphore创建信号量、RelaseSemaphore设置信号量原创 2022-11-28 13:21:50 · 1206 阅读 · 0 评论 -
windows线程 事件CreateEvent、SetEvent、ResetEvent、CloseHandle
windows线程 事件CreateEvent、SetEvent、ResetEvent、CloseHandle原创 2022-11-28 12:47:19 · 1321 阅读 · 0 评论 -
windows线程 互斥锁CreateMutex、ReleaseMutex、CloseHandle
windows线程 互斥锁CreateMutex、ReleaseMutex、CloseHandle原创 2022-11-28 00:43:38 · 1293 阅读 · 0 评论 -
windows线程 原子锁 每个操作符对应一个原子锁函数
windows线程原子锁 每个操作符对应一个原子锁函数、InterlockedIncrement 自增原创 2022-11-28 00:01:42 · 257 阅读 · 0 评论 -
Windows线程CreateThread、线程处理函数、SuspendThread、ResumeThread、WaitForSingleObject、WaitForMultipleObjects
DWORD dwCreationFlags,//线程的创建方式(1线程立即执行、2线程挂起)CREATE_SUSPENDED 线程挂起。DWORD dwMilliseconds //等候时间(最长等候时间,如果在最大等候时间都没有来信号,就直接返回)//等候有信号就返回,如果超时了就返回,如果设置INFINITE参数,那么就死等信号返回。CONST HANDLE *lpHandles,//句柄Buff的地址,多个句柄,是个数组。//INFINITE 时间无线长,大于一万年!原创 2022-11-28 00:00:17 · 573 阅读 · 0 评论 -
Windows动态库_declspec(dllexport)、_declspec(dllimport)、LoadLibrary、GetProcAddress、FreeLibrary
Windows动态库_declspec(dllexport)、_declspec(dllimport)、LoadLibrary、GetProcAddress、FreeLibrary原创 2022-11-27 13:08:05 · 740 阅读 · 0 评论 -
Windows静态库用C++代码调用C语言的旧库方法extern ”c“
Windows静态库用C++代码调用C语言的旧库方法extern ”c“原创 2022-11-27 01:24:54 · 702 阅读 · 0 评论 -
windows对话框窗口DialogBox模式对话框、EndDialog、CreateDialog非模式对话框、DestroyWindow、WM_INITDIALOG
windows对话框窗口DialogBox模式对话框创建、EndDialog模式对话销毁、CreateDialog非模式对话框、DestroyWindow非模式对话框销毁、WM_INITDIALOG对话框创建消息与WM_CREATE消息不同原创 2022-11-27 00:30:31 · 985 阅读 · 0 评论 -
windows文本绘制 TextOut、DrawText、CreateFont、SetTextColor、SetBkColor、SetBkMode
windows文本绘制 TextOut、DrawText、CreateFont、SetTextColor、SetBkColor、SetBkMode原创 2022-11-26 15:48:43 · 1164 阅读 · 0 评论 -
windows位图绘制(显示位图资源)LoadBitmap、CreateCompatibleDC、BitBlt、StretchBlt
windows位图绘制(显示位图资源)LoadBitmap、CreateCompatibleDC内存虚拟DC、BitBlt(原尺寸呈现)、StretchBlt(缩放呈现)原创 2022-11-26 13:49:26 · 1281 阅读 · 0 评论 -
windows绘图SetPixel、MoveTo、LineTo、CreatePen、SelectObject、DeleteObject、CreateSolidBrush、CreateHatchBrus
windows绘图SetPixel、MoveTo、LineTo、CreatePen、SelectObject、DeleteObject、CreateSolidBrush、CreateHatchBrus、GetStockObject原创 2022-11-26 13:00:34 · 527 阅读 · 0 评论 -
Windows字符串资源LoadString 加速键资源TranslateAccelerator、LoadAccelerators
windows字符串资源、加速键资源原创 2022-11-22 10:38:10 · 272 阅读 · 0 评论 -
windows资源文件LoadCursor、LoadIcon、SetCursor、SetIcon、WM_SETCURSOR消息
windows资源原创 2022-11-20 14:33:42 · 657 阅读 · 0 评论 -
windows菜单资源SetMenu、LoadMenu、WM_COMMAND消息处理菜单命令
创建窗口菜单 SetMenu、LoadMenu函数 WM_COMMAND消息原创 2022-11-20 10:48:04 · 764 阅读 · 0 评论 -
windows消息 鼠标消息、定时器消息
windows消息定时器消息原创 2022-11-19 17:44:49 · 1862 阅读 · 0 评论 -
windows消息-键盘消息
windows消息键盘消息原创 2022-11-19 12:46:46 · 465 阅读 · 0 评论 -
windows消息的处理过程 消息队列
消息处理过程原创 2022-11-19 00:35:15 · 630 阅读 · 0 评论 -
windows消息分类PostMessage、SendMessage
windows消息分类原创 2022-11-18 23:48:20 · 723 阅读 · 0 评论 -
Windows消息处理(系统消息) WM_QUIT、WM_DESTROY、WM_CLOSE、WM_SYSCOMMAND、WM_PAINT、WM_LBUTTONDO、WM_SIZE、WM_CREATE、
windows系统消息 WM_QUIT、WM_DESTROY、WM_CLOSE、WM_SYSCOMMAND、WM_PAINT、WM_LBUTTONDO、WM_SIZE、WM_CREATE、WM_LBUTTONDOWN原创 2022-11-18 23:46:18 · 2039 阅读 · 0 评论 -
Windows win32程序创建步骤 定义WinMain、自定义消息处理函数、注册窗口类、创建窗口、显示窗口、消息循环
WinMain、CreateWindowEx、PlaySound、GetStdHandle、Windows win32程序创建步骤 定义WinMain、自定义消息处理函数、注册窗口类、创建窗口、显示窗口、消息循环原创 2022-11-18 10:06:04 · 830 阅读 · 0 评论 -
Windows VC编译器编译命令cl、rc、link工具使用
Windows VC编译器编译命令cl、rc、link工具使用原创 2022-11-14 18:51:20 · 813 阅读 · 0 评论 -
WinMain程序,从这里开始
#include <Windows.h>LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; RECT rect; switch(message) { case WM_CREATE: PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME | SND_ASYNC); retu原创 2021-01-04 12:40:29 · 112 阅读 · 0 评论 -
1.unicode中处理宽字符集
#include <Windows.h>#include <stdarg.h>#include <stdio.h>#include <tchar.h>int CDECL MessageBoxPrintf(TCHAR* szCaption,TCHAR* szFormat,...){ TCHAR szBuffer[1024]; va_list pArgList; va_start(pArgList,szFormat); _vsntprintf原创 2020-12-30 00:11:39 · 242 阅读 · 1 评论 -
0.重拾winapi,从头再学习,一点点进步
0.重拾winapi,从头再学习,一点点进步写在最前面,也是重新再学习API的动力做菜的启示遇到的第一个问题程序编译报错解决方案对话框的程序编译问题解决了,又出新问题写在最前面,也是重新再学习API的动力因为前面换工作没有成功,疫情影响,目标单位的工作量减少了,领导也不再需要我这种能力还行的廉价劳动力,CAD和信号功力还行吧,但是奈何海涛董事长走了,设计院的工作也给整黄了。还是接着研究我们公司的代码,学点真本事!那就开始吧,多说无益,点滴做起!每天进步一点点。做菜的启示我一有时间就在家做做菜,不是大原创 2020-12-28 01:27:47 · 253 阅读 · 1 评论 -
Windows API基础知识 setlocale设置默认地域、字符集说明、MultiByteToWideChar、WideCharToMultiByte
Windows API基础知识 setlocale设置默认地域、字符集说明、MultiByteToWideChar多字符转换为宽字符、WideCharToMultiByte宽字符转化为多字符原创 2020-03-04 02:53:13 · 318 阅读 · 0 评论 -
62.根据系统进程快照获得枚举系统进程PROCESSENTRY32、CreateToolhelp32Snapshot、Process32First、Process32Next
首先要包含头文件,帮助工具函数的头文件#include <TlHelp32.h>先说一个结构体,用于保存取得操作系统进程快照的信息PROCESSENTRY32typedef struct tagPROCESSENTRY32{ DWORD dwSize; //结构体大小 DWORD cntUsage; //此进程引用次数计数器,已不再使用,总是0 ...原创 2020-03-04 02:49:13 · 1219 阅读 · 0 评论 -
59.环境变量GetEnvironmentStrings、FreeEnvrionmnetStrings、GetEnvironmentVariable、SetEnvironmentVariable
GetEnvironmentStrings获取所有环境变量返回值为系统环境变量的指针WINBASEAPILPSTRWINAPIGetEnvironmentStrings(VOID);GetEnvironmentVariable获取指定名称的变量名的值WINBASEAPIDWORDWINAPIGetEnvironmentVariableA(LPCSTR _in lpName,...原创 2020-03-03 02:55:27 · 1122 阅读 · 0 评论 -
58.创建线程CreateProcess、STARTUPINFO、PROCESS_INFORMATION、ExitProcess、TerminateProcess、GetCommandLine、Get
STARTUPINFO用于指定新进程的主窗口特性的一个结构typedef struct _STARTUPINFOW { DWORD cb; //startupinfo结构体大小 LPWSTR lpReserved; LPWSTR lpDesktop; LPWSTR lpTitle; DWORD dwX; DWORD dwY; ...原创 2020-03-01 10:21:48 · 3074 阅读 · 0 评论 -
53.创建线程_beginthread
// ThreadB.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "ThreadB.h"#include <process.h>#define MAX_LOADSTRING 100VOID ThreadB(PVOID pVoid);VOID ThreadC(PVOID pVoid);// 全局变量:HINS...原创 2020-02-28 02:00:12 · 646 阅读 · 0 评论 -
50.服务程序SERVICE_STATUS、SERVICE_STATUS_HANDLE、RegisterServiceCtrlHandler、SetServiceStatus、SERVICE_TABL
开始之前,先了解几个结构体SERVICE_STATUS 是服务状态机构,用于标记服务的状态typedef struct _SERVICE_STATUS { DWORD dwServiceType; //服务可执行文件的类型 DWORD dwCurrentState; DWORD dwControlsAccepted; DWORD dwWin32E...原创 2020-02-26 02:53:54 · 2755 阅读 · 0 评论 -
49.用了好长时间查到GetProcAddress函数取得DLL文件中函数指针返回值为0,GetLastError()值为127的原因,因为使用了CALLBACK回调函数所以导致了此问题
先贴上生成DLL文件的代码,其实问题就出在DLL生成代码中头文件代码如下://dll_to_mfc.h#include <Windows.h>#ifdef __cplusplus#define EXPORT_DLL extern "C" __declspec(dllexport)#else#define EXPORT_DLL __declspec(dllexport)...原创 2020-02-25 02:18:17 · 919 阅读 · 0 评论 -
48.编写DLL动态链接库__declspec(dllexport)、DllMain生成xxx.dll、xxx.lib和xxx.h、LoadLibrary、GetProcessAddress、Free
自己编写DLL动态链接库文件需要把调用方式要说明,是用C调用方式还是CPP调用方式#ifdef __cplusplus //C++方式调用,需要用C的方式#define EXPORT extern “C” __declspec(dllexport)#else#define EXPORT __declspec(dllexport)#endif其中extern "C"是C调用函数的方式...原创 2020-02-24 02:17:13 · 704 阅读 · 0 评论 -
47.位图资源显示HBITMAP、BITMAP、LoadBitmap、GetObject、CreateCompatibleDC、SelectObject、BitBlt
先说下位图资源显示的步骤1.加载位图资源HBITMAP hBitmap = LoadBitmap();2.获取位图信息GetObject(hBitmap,sizeof(BITMAP),&bitmap);3.创建内存绘图设备环境上下文HDC hdcMem = CreateCompatibleDC(hdc);4.把GDI位图对象选入内存设备环境SelectObject(hdcM...原创 2020-02-23 01:59:55 · 1354 阅读 · 0 评论 -
46.矩操作函数SetRect、FillRect、FrameRect、PtInRect、InvertRect、Offsetrect、SetRectEmpty、IsRectEmpty、Intersect
先把这两个定义给弄清除 INT_PTR CALLBACKtypedef __int64 INT_PTR, *PINT_PTR;#define CALLBACK __stdcallFillRect 填充矩形区域原创 2020-02-23 01:52:51 · 1742 阅读 · 0 评论 -
44.绘图图形Rectangle、RountRect、Ellipse、Chord、Pie、Polygon、Polyline、PolyPolygon、SetPolyFillMode,ALTERNATE
Rectangle矩形绘图函数__gdi_entry WINGDIAPI BOOL WINAPI Rectangle(__in HDC hdc,__in int left,__in int top, __in int right,__in int bottom );Rectangle(hdc,100,100,800,400);前面一对于__in不明白到底是什么意思现在...原创 2020-02-22 01:23:04 · 719 阅读 · 0 评论 -
43.画线POINT、MoveToEx、LineTo、Polyline、PolylineTo、Arc、ArcTo、SetArcDirection、PolyBezier、PolyBezierTo
POINT点定义如下typedef struct tagPOINT{ LONG x; LONG y;} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;MoveToEx移动坐标__gdi_entry WINGDIAPI BOOL WINAPI MoveToEx( __in HDC hdc, //设备上下文 __in in...原创 2020-02-21 02:06:47 · 970 阅读 · 0 评论 -
42.枚举字体EnumFontFamilies、EnumFontFamiliesEx、FONTENUMPROC回调函数,主函数搭配回调函数使用
EnumFontFamiliesEx枚举字体函数列举出由LPLOGFONT lpLogfont指定的逻辑字体中由lpCharset和lpFaceName指定的字体该函数列举系统里所有符合由LOGFONT结构指定的字体特性的字体。此函数基于字样名或字符集或两者来枚举字体。int EnumFontFamiliesEx(HDC hdc, //设备上下文 LPLOGFONT lpLogfont,...原创 2020-02-20 02:26:21 · 2363 阅读 · 0 评论