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 条评论
登录 后参与评论

相关文章

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

关于sql_profile中的绑定变量(r4笔记第57天)

使用sql_profile来调优一些紧急的性能sql可以起到立竿见影的效果,如果sql语句本身结构就很清晰,简单,略作修改就能得到调优后的sql语句。 但是如果...

3606
来自专栏me的随笔

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

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

1121
来自专栏乐沙弥的世界

PL/SQL 下邮件发送程序

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

832
来自专栏xingoo, 一个梦想做发明家的程序员

数字时钟

/*----------------------------------------- DIGCLOCK.c -- Digital Clock ...

1925
来自专栏文渊之博

DATETIME类型和BIGINT 类型互相转换

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

1998
来自专栏一个会写诗的程序员的博客

图解 SQL join 语句内联合(inner join)全外联合(full outer join)左外联合(left outer join)笛卡尔积 (交叉联合(cross join))

我们用过name字段用几种不同方式把这些表联合起来,看能否得到和那些漂亮的韦恩图在概念上的匹配。

812
来自专栏用户2442861的专栏

好的数据库面试题集合

http://blog.csdn.net/sandyzhs/article/details/4059709

3281
来自专栏张善友的专栏

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

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

1896
来自专栏数据和云

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

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

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

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

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

3344

扫码关注云+社区