博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]会自动消失的对话框API函数:MessageBoxTimeout
阅读量:6983 次
发布时间:2019-06-27

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

//以下两个函数由user32.dll导出,只是没有微软官方文档记载,大家在cpp中包含了以下部分,就可以调用MessageBoxTimeout了。

extern "C" {
int WINAPI MessageBoxTimeoutA(IN HWND hWnd, IN LPCSTR lpText, IN LPCSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds); int WINAPI MessageBoxTimeoutW(IN HWND hWnd, IN LPCWSTR lpText, IN LPCWSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds); }; #ifdef UNICODE #define MessageBoxTimeout MessageBoxTimeoutW #else #define MessageBoxTimeout MessageBoxTimeoutA #endif

需要指出的是,Windows 2000的user32.dll没有导出这个函数。

 //举例如下: 

int ret = MessageBoxTimeoutA(NULL, "倒计时?", "tishi", MB_OKCANCEL, 0, 10*1000); if( IDOK == ret)     {
::MessageBox(NULL, "IDOK", "结果", MB_OK); } else if( IDCANCEL == ret) {
::MessageBox(NULL, "IDCANCEL", "结果", MB_OK); } else if( IDTIMEOUT == ret) {
::MessageBox(NULL, "IDTIMEOUT", "结果", MB_OK); }

  工程文件:

【参考资料 感谢作者】

1、

 

  补充:vc 6.0下会提示未定义,此时可以自己动态调用这个函数。vs 2008下包含上诉代码可以直接使用。

转载于:https://www.cnblogs.com/ziwuge/archive/2012/02/18/2357562.html

你可能感兴趣的文章
项目中的常见算法
查看>>
(转)GCT之逻辑经验总结(拿来主义)
查看>>
虚拟继承中子类和父类的构造函数顺序1
查看>>
js错误: Unexpected number in JSON at position 2792 value里面有双引号怎么解决
查看>>
(实践篇)剖析最近项目使用的一个框架
查看>>
usaco Typo
查看>>
字符串
查看>>
创建对象的三种方式
查看>>
spring学习之spring 插件 for eclipse
查看>>
js-sha256源码
查看>>
运维笔试题
查看>>
dispaly、position、float之间的关系与相互作用
查看>>
MyEclipse加入jquery.js文件missing semicolon的错误
查看>>
axis1.4生成客户端
查看>>
地区选择控件杂记
查看>>
来自工程师的8项Web性能提升建议
查看>>
dns配置文件
查看>>
springBoot、SpringCloud 常用注解
查看>>
UITouch 触摸事件处理
查看>>
system类
查看>>