CreateDialog Win32 API调用的一个小问题
在老版本号的VC编译器上。关键调用是下面2句:
InitCommonDialogs();
HWND hwndDialog = CreateDialog(hInstance, "IDD_XXX", ...);
可是在新版本号的VS上,InitCommonDialogs这个API似乎已经没了,而CreateDialog还有,问题是,对话框的界面出不来。什么原因呢?
猜測InitCommonDialogs这个API注冊了默认的系统对话框窗体类,这样CreateDialog的第二个參数才干以字符串的形式引用。如今InitCommonDialogs尽管没了,但必需要有一种机制传进正确的窗体类。。。
依照这个思路再次确认资源文件。測试项目首先通过resource.h引用.rc资源文件,而.rc里定义了一个名字叫IDD_XXX的对话框资源。这个地方没有问题,
可是。资源文件中的IDD_XXX实质上是整数类型,而CreateDialog的第2个參数要求的却是字符串。这个地方似乎有问题。
再次确认MSDN里的API文档说明,哈哈,果然,有一个MAKEINTRESOURCE宏,能够把整数类型的IDD_XXX值转换为字符串类型(这里我的感觉是新版本号的Win32
执行时环境使用了不同的窗体类字符串机制),改成以下的写法就能够了:
HWND
hwndDialog = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_XXX), ...);
InitCommonDialogs不要须要。
CreateDialog Win32 API调用的一个小问题的更多相关文章
- 【C++】从零开始,只使用FFmpeg,Win32 API,实现一个播放器(一)
前言 起初只是想做一个直接读取视频文件然后播放字符动画的程序.我的设想很简单,只要有现成的库,帮我把视频文件解析成一帧一帧的原始画面信息,那么我只需要读取里面的每一个像素的RGB数值,计算出亮度,然后 ...
- Java类的继承与方法调用的一个小问题
public class Father { protected void server(int i){ switch (i){ case 1: methodone(); break; case 2: ...
- Win32 API 多线程编程——一个简单实例(含消息参数传递)
Win32 API进行程序设计具有很多优点:应用程序执行代码小,运行效率高,但是他要求程序员编写的代码较多,且需要管理所有系统提供给程序的资源,要求程序员对Windows系统内核有一定的了解,会占用程 ...
- Linux localtime_r调用的一个小问题
我们一个项目中有如下代码: time_t loc_time; loc_time = time(NULL); localtime_r(&loc_time,&ptr); 这段代码本意是获取 ...
- c++类调用的一个小问题
先看这两段代码: #include <iostream> #include <vector> #include <algorithm> using namespac ...
- Detours简介 (拦截x86机器上的任意的win32 API函数)
Detours 当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Det ...
- Win32 API编程——前言
一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),w ...
- win32 api 文件操作!
CreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门. ReadFile从文件中读取字节信息.在打开文件获得了文件句柄之后, ...
- C#调用Win32 api学习总结
从.NET平台调用Win32 API Win32 API可以直接控制Microsoft Windows的核心,因为API(Application Programming Interface)本来就是微 ...
随机推荐
- 自学Python十二 战斗吧Scrapy!
初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 还是先推荐几个学习的教程:Scrapy 0.2 ...
- sql 列集合转换成逗号分隔的字符类型
CREATE function [dbo].[getGroupPath](@groupId int) returns nvarchar(2000) as begin declare @path nva ...
- android黑科技系列——解析公众号文章消息和链接文章消息自动打开原理
一.辅助功能方案分析 关于WX的各种功能插件已经非常普遍了,而现在的插件都是依赖于Xposed框架进行的,所以个人觉得WX应该在这方便应对Xposed框架的使用防护,防止插件满天飞的现象,本文来介绍一 ...
- [Windows Server 2012] 安装SQL Server 2012
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装SQL S ...
- 显示log里的ansi codecs颜色字符
方法: vim AnsiEsc插件 http://www.vim.org/scripts/script.php?script_id=302 less -r cat和tail命令都可以正常显示,而且ta ...
- hdu,1028,整数拆分的理解
#include"iostream"using namespace std;int main() { int n,i,j,k; int c[122],temp[122]; //c[ ...
- ffmpeg从内存读取文件
正常情况,ffmpeg直接从文件读取 AVFormatContext * _ctx = NULL; avformat_open_input(&_ctx, _filePath, 0, 0); 我 ...
- 【第四课】kaggle案例分析四
Evernote Export 比赛题目介绍 facebook想要准确的知道用户登录的地点,从而可以为用户提供更准确的服务 为了比赛,facebook创建了一个虚拟世界地图,地图面积为100km2,其 ...
- S-HR之时间空间配置
<field name="entrys.bizDate" dataType = "DATE" label="生效日期" year ...
- 使用No-Conflict模式,其实就是对jQuery进行重命名,再调用。
<script type="text/javascript" src="/jquery/jquery.js"></script>< ...