Windows核心编程:第1章 错误处理

Github

https://github.com/gongluck/Windows-Core-Program.git

//第1章 错误处理.cpp: 定义应用程序的入口点。
//

#include "stdafx.h"
#include "第1章 错误处理.h"

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
    _In_opt_ HINSTANCE hPrevInstance,
    _In_ LPWSTR    lpCmdLine,
    _In_ int       nCmdShow)
{
    HANDLE hFile = CreateFile(TEXT("C:\\gongluck"), 0, 0, NULL, OPEN_EXISTING, 0, NULL);
    DWORD err = GetLastError();;
    HLOCAL hlocal = NULL;
    if (err != ERROR_SUCCESS)
    {
        //将错误码(可指定自然语言)格式化输出
        DWORD res = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_ALLOCATE_BUFFER,
            NULL,
            err,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
            (LPTSTR)&hlocal,
            0,
            NULL);
        MessageBox(NULL, (PCTSTR)hlocal, TEXT("err"), MB_OK);
    }

    //FormatMessage的格式化输出功能
    int nYear = 2018, nMonth = 5, nDay = 22;
    TCHAR szYear[5], szMonth[3], szDay[3];
    wsprintf(szYear, TEXT("%d"), nYear);
    wsprintf(szMonth, TEXT("%d"), nMonth);
    wsprintf(szDay, TEXT("%d"), nDay);
    LPWSTR lpSource = (LPWSTR)TEXT("今天是:%1年%2月%3日");
    DWORD_PTR pArgs[] = { (DWORD_PTR)szYear, (DWORD_PTR)szMonth, (DWORD_PTR)szDay };
    const DWORD size = 100 + 1;
    WCHAR buffer[size];
    if (FormatMessage(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY,
        lpSource,
        NULL,
        NULL,
        buffer,
        size,
        (va_list*)pArgs))
    {
        MessageBox(NULL, buffer, TEXT("Date"), MB_ICONINFORMATION);
    }
    //
    system("pause");
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据处理

CEdit只能输入16进制数

14750
来自专栏数据和云

案例分析:倾斜值传入导致 SQL 资源消耗升高

作者 | 邓秋爽:云和恩墨技术工程师,有超过七年超大型数据库专业服务经验,擅长 Oracle 数据库优化、SQL 优化和 Troubleshooting。

13740
来自专栏文渊之博

DATETIME类型和BIGINT 类型互相转换

项目中使用BIGINT来存放时间,以下代码用来转换时间类型和BIGINT类型 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIE...

23880
来自专栏me的随笔

T-SQL基础(二)之关联查询

表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。SQL Server支持四个表运算符:JOIN、APPLY、PIVOT、UNPIVOT...

14410
来自专栏数据和云

高手过招:用SQL解决环环相扣的刑侦推理问题(苏旭辉版本)

本文是继 杨长老 刑侦高考:如何用SQL解决环环相扣的刑侦推理问题 之后,苏旭辉的一个版本,希望大家能够在高手的过招中,看到喜爱、坚持、执着与技艺。

10820
来自专栏乐沙弥的世界

PL/SQL 下邮件发送程序

      对DBA而言,尽管在os级别下发送邮件是轻而易举的事情,然而很多时候我们也需要在PL/SQL中来发送邮件,比如监控job的执行状况等。本文根据网友(...

10420
来自专栏乐沙弥的世界

SQL,PL/SQL 数据类型一览表

The following is a list of datatypes available in Oracle.

12130
来自专栏张善友的专栏

sqlserver 2000/2005 Ambiguous column error错误解决办法

今天针对Sql server 2005的脚本在Sql server 2000上执行,发生了两个错误 Msg 209, Level 16, State 1, Pr...

20160
来自专栏杨建荣的学习笔记

通过pl/sql来格式化sql(r4笔记第63天)

在之前的一篇博文中分享了通过java来格式化sql,http://blog.itpub.net/23718752/viewspace-1444910/ 今天突然...

35240
来自专栏Netkiller

Spring Data 最佳实践

摘要: ORM的出现解决了程序猿学习数据库学历成本,也加快了开发的速度。程序猿无需再学习数据库定义语言DDL以及数据库客户端,也无需关注建表这些繁琐的工作,同时...

48570

扫码关注云+社区

领取腾讯云代金券