第一个Win32应用程序

  今天使用Visual Studio 2015,在教程的指导下开发了一个Win32窗口应用程序,在这个过程中遇到了两个问题:

  一、无法查找或者打开pda文件

    解决办法:(工具栏)调试->选项->常规->(勾选启用源服务器支持);调试->选项->符号->(勾选Microsoft符号服务器),完成!

  二、不能将const char*类型的值分配到LPCWSTR类型的实体(wndClass.lpszClassName = "DX11BookWindowClass";)

    解决办法:在字符串常量前面加上L(wndClass.lpszClassName = L"DX11BookWindowClass";),把字符串转换为宽字符集,相当于实现了强制类型转换。

  拓展:

  LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型。

  MSDN原文:

An LPCWSTR is a 32-bit pointer to a constant string of 16-bit Unicode Charactor, which may be null-terminated.

This type is declared as follows:

typedef const wchar_t* LPCWSTR;

  因为在VS2005以后,编码方式默认为Unicode,部分函数在使用时默认调用Unicode方式(函数名+W,exp:MessageBox+W=MessageBoxW),而非ANSI方式(函数名+A,exp:MessageBox+A=MessageBoxA)。

时间: 2024-08-27 07:50:06

第一个Win32应用程序的相关文章

【DirectX11-Tutorial】运行第一个win32程序A Primer of Basic Windows

DirectX11-Tutorial 本系列主要参考此博客的文章,同时会加上一点个人实践过程. ========================================== 分割线 ========================================== <span style="font-family:Microsoft YaHei;font-size:14px;">#include <stdio.h> // include the sta

OD调试1--第一个win32程序

OD调试一:第一个Win32程序的修改 在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误.而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果.由于操作系统都会提供完善的调试接口,所以利用各类调试工具可以非常方便灵活地观察和控制目标软件.在使用调试工具分析程序的过程中,程序会按调试者的意愿以指令为单位执行. 调试逆向分为动态分析技术和静态分析技术. 动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以

Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

问题怎么出现的: 电脑是win8 64位,,下载了一个mysqldb 32位,http://sourceforge.net/projects/mysql-python/files/latest/download.安装后import MySQLdb 就出现了如题错误. 看了一个帖子,如下: 在windows上安装python mysql模块后,导入模块时报 python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序 这个是因为你安装了64位的p

python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序

今天折腾pandas的时候, 很想当然的认为是64位的系统, 理所当然的就下载了一个64位的二进制安装包, 结果安装一切正常, 在导入的时候报出了 ImportError 在windows上安装python 的模块后,导入模块时报 python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序 这个是因为你安装了64位的python,然后安装32位的模块,或者你安装了32位的python,然后安装64位的模块 先确定自己的python是是多少位

Win32对话框程序(2)

接着Win32对话框程序(1)来写 ,解决遗留的问题,即理解函数及其调用关系.文章中有些地方是自己的推断,因此肯定有叙述不准确甚至错误的地方,请指正,感谢~ *******************************正文分割************************************ WinMain函数 Win32对话框程序(1)中说了WinMain是应用程序的入口,其输入参数有四个,根据MSDN上的叙述: 输入变量声明 说明 HINSTANCE    hInstance 此应用

不是有效的win32应用程序怎么解决

有时,用户在双击安装某个软件时,经常会弹出"XX不是有效Win32应用程序"的错误提示.即使我们双击运行任意一个EXE格式的可执行文件,可能同样会出现这样的错误提示.那么如何解决"不是有效的win32应用程序"的提示呢? 答案:很大可能是程序感染病毒了 http://jingyan.baidu.com/article/90808022bec89ffd91c80fca.html 不是有效的win32应用程序怎么解决,布布扣,bubuko.com

Win32应用程序的基本结构

0 引言 Win32 API是用于创建 Windows 应用程序的应用程序编程接口.通常情况下,一个Win32应用包含一下几个部分: 1)    应用程序入口: 2)    注册窗口类: 3)    创建窗口: 4)    显示窗口: 5)    更新窗口 6)    消息循环: 7)    派发消息: 1 应用程序入口 Win32应用程序以WinMain函数作为程序入口,函数原型如下: int WinMain( HINSTANCE hInstance, HINSTANCE hPrevInsta

win32窗口程序的过程

复习一下win32窗口程序 设计一个窗口类: 注册窗口类: 创建窗口: 显示及更新窗口. 消息循环,去获取消息: 窗口过程函数的消息响应. 设计窗口类: typedef struct _WNDCLASS { UINT style; //窗口类的类型 WNDPROC lpfnWndProc; //窗口过程函数(回调函数) int cbClsExtra; //为该类设定额外内存空间 int cbWndExtra; //为该窗口设定额外内存空间 HANDLE hInstance; //当前应用程序的实

Creating Dialogbased Win32 Application (1) / 创建基于对话框的Win32应用程序(一)新建窗体 / Win32, VC++, Windows

创建基于对话框的Win32应用程序(一) —— 新建窗体 1.新建一个Visual C++的Empty Project.  2.在Solution Explorer中右键Add New Item,添加 .cpp 文件,并提供Win32应用程序的入口点函数.  3.在Solution Explorer或 Resources View 中右键Add Resource,选择Dialog.并在修改相关内容. 4.切换到 .cpp文件中,创建回调函数(Dlg_Proc),并在入口点函数中调用DialogB