博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FormatMessage示例
阅读量:7255 次
发布时间:2019-06-29

本文共 1703 字,大约阅读时间需要 5 分钟。

hot3.png

Windows核心编程chapter one

#include "stdafx.h"#include 
#include
#include "Resource.h"#include "MainDlg.h"BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE;}BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){ return TRUE;}void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){ switch(id) { case IDC_BTN_LOOKUP: { //Get the error code DWORD dwError = GetDlgItemInt(hwnd,IDC_ERRORCODE,NULL,FALSE); HLOCAL hlocal = NULL; //Buffer that gets the error message string DWORD systemLocale = MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL); //Get the error code's textual description BOOL fOk = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL,dwError,systemLocale,(PTSTR)&hlocal,0,NULL); if (!fOk) { //Is it a network-related error? HMODULE hDll = LoadLibraryEx("netmsg.dll",NULL,DONT_RESOLVE_DLL_REFERENCES); if (hDll!=NULL) { fOk = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_ALLOCATE_BUFFER, hDll,dwError,systemLocale,(PTSTR)&hlocal,0,NULL); FreeLibrary(hDll); } } if (fOk && (hlocal!=NULL)) { SetDlgItemText(hwnd,IDC_TEXTAREA,(PCTSTR)LocalLock(hlocal)); LocalFree(hlocal); }else{ SetDlgItemText(hwnd,IDC_TEXTAREA,TEXT("No text found for this error number.")); } } break; default: break; }}void Main_OnClose(HWND hwnd){ EndDialog(hwnd, 0);}
效果

转载于:https://my.oschina.net/uniquejava/blog/162643

你可能感兴趣的文章
uoj#274. 【清华集训2016】温暖会指引我们前行(LCT)
查看>>
[51nod1222] 最小公倍数计数(莫比乌斯反演)
查看>>
LeetCode - 37. Sudoku Solver
查看>>
公钥,私钥和数字签名这样最好理解
查看>>
SqlBulkCopy 类
查看>>
csu1811(树上启发式合并)
查看>>
spring 整合maven 定时任务调度,多个任务写法
查看>>
New Concept English Two 15 37
查看>>
L125
查看>>
poj2192
查看>>
json的内容回顾
查看>>
SAP将内表生成XML作为excel保存到FTP
查看>>
栅格系统
查看>>
[Selenium] 使用自定义的FirefoxProfile
查看>>
Spine批量导出Command line Export
查看>>
POJ3690:Constellations——题解
查看>>
第二次毕业设计任务书
查看>>
Maven中POM.XML详解
查看>>
小时候,长大了
查看>>
一次服务器被入侵后的分析
查看>>