社区
Windows SDK/API
帖子详情
在MessageBox()窗口自动关闭
zhanghelpsgz
2006-07-19 01:46:40
我想让我的MessageBox()窗口显示5秒钟后自动关闭,有用什么办法?
...全文
1664
20
打赏
收藏
在MessageBox()窗口自动关闭
我想让我的MessageBox()窗口显示5秒钟后自动关闭,有用什么办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kinglh
2007-02-14
打赏
举报
回复
学习
wenyongjie
2007-01-24
打赏
举报
回复
haiqian119(海嵌)正解
找不到MessageBox的句柄,可以到老妖网站下载个SPY来
API不熟哪就多用几次就OK了
laowang2
2007-01-23
打赏
举报
回复
mark
cdmar79
2007-01-23
打赏
举报
回复
我win2000的user32.dll中没有导出MessageBoxTimeout的么,你用的什么系统的?
jiangshx
2006-09-01
打赏
举报
回复
好贴!
MTLee
2006-08-30
打赏
举报
回复
To diamondex(醯醰醱醲醳醴醵醶醷醸醹醺醻醼醽醾醿釀釁釂釃釄釅) ( ) 信誉:100 Blog 2006 :
而能多给几个操作user32.dll的例子吗 ?user32.dll很又意思!
TKS!
diamondex
2006-08-30
打赏
举报
回复
专业一点,调用user32.dll中的 MessageBoxTimeout
// msgbox_timeout.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
int main(int argc, char* argv[])
{
typedef int (WINAPI *PMSGBOXT)(HWND,LPCSTR,LPCSTR,UINT,WORD,DWORD timeout);
PMSGBOXT func;
HMODULE hm;
UINT t;
int ret;
hm=::LoadLibrary("user32.dll");
if(!hm)
{
puts("load DLL error!");
return 1;
}
func=(PMSGBOXT)::GetProcAddress(hm,"MessageBoxTimeoutA");
if(!func)
{
puts("get Proc error!");
::FreeLibrary(hm);
return 2;
}
t=MB_YESNOCANCEL|MB_ICONEXCLAMATION|MB_TOPMOST;
SYSTEMTIME syst;
::GetSystemTime(&syst);
printf("*** %02d:%02d:%02d.%03d [GMT]\n",syst.wHour,syst.wMinute,syst.wSecond,syst.wMilliseconds);
ret=func(NULL,"MessageBox with Timeout","Caption",t,0,2000);
::GetSystemTime(&syst);
printf("*** %02d:%02d:%02d.%03d [GMT]\n",syst.wHour,syst.wMinute,syst.wSecond,syst.wMilliseconds);
printf("BUTTON: %d\n", ret);
::FreeLibrary(hm);
printf("Hello World!\n");
return 0;
}
yefu2000
2006-08-18
打赏
举报
回复
学习~
winner8080
2006-08-18
打赏
举报
回复
回上面某楼的SendMessage()
在MSDN中是这样定义的:
LRESULT SendMessage(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
比如要发消息取得richEdit中的选中的文字,到帮助菜单下的windows SDK,再到目录下的第3项找到这个控件,再找到其中的“RichEdit message”,里面有很多消息,打开一个就有详细的WPARAM wParam, LPARAM lParam的说明,举例如下:
char *buffer = new char[41];
SendMessage(RichEdit1->Handle ,EM_GETSELTEXT ,0,(LPARAM) (LPSTR)buffer );
ShowMessage(buffer);
其他控件也是这样去看帮助的
jone7319
2006-08-10
打赏
举报
回复
MARK
MEFULEU
2006-08-10
打赏
举报
回复
keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo );
bVK 是1-254的键值,比如Ord('A')
bScan 是一个扫描码,一般用mapvirtualkey(Ord('A',0)获得
dwFlags 按键状态,KEYEVENTF_EXTENDEDKEY表示按下,KEYEVENTF_KEYUP表示放开
dwExtraInfo 附加信息
MEFULEU
2006-08-10
打赏
举报
回复
keybd_event(18,mapvirtualkey(18,0),0,0);
keybd_event(115,mapvirtualkey(115,0),0,0);
keybd_event(115,mapvirtualkey(115,0),keyeventf_keyup,0);
keybd_event(18,mapvirtualkey(18,0),keyeventf_keyup,0);
MEFULEU
2006-08-10
打赏
举报
回复
无聊的问题,发送一个alt+f4命令不就完了
lextm
2006-07-20
打赏
举报
回复
自己设计一个Form,做成和MessageBox差不多的。然后一切控制就看你自己的啦,加入一个TTimer就可以计时了。
zhanghelpsgz
2006-07-19
打赏
举报
回复
谢谢上面的朋友,OK!
zhanghelpsgz
2006-07-19
打赏
举报
回复
上面的朋友:
findwindow -> sendmessage 不太会用,我的API学得差,给个例子好么?
海嵌
2006-07-19
打赏
举报
回复
void __fastcall TForm1::btn_1Click(TObject *Sender)
{
tmr_1->Interval = 5000;
tmr_1->Enabled = true;
MessageBox(NULL,"nihao","Test",MB_OK);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::tmr_1Timer(TObject *Sender)
{
HANDLE hWnd = FindWindow(NULL,"Test");
SendMessage(hWnd,WM_CLOSE,NULL,NULL);
tmr_1->Enabled = false;
}
海嵌
2006-07-19
打赏
举报
回复
findwindow -> sendmessage
zhanghelpsgz
2006-07-19
打赏
举报
回复
上面的朋友,自己怎么写法,说详细一点好么
alloutoflove
2006-07-19
打赏
举报
回复
要么自己写代码找到那个MessageBox将其关闭, 要么自己写个MessageBox
c#教你如何
自动
关闭
MessageBox
弹出的
窗口
我们都知道,
MessageBox
弹出的
窗口
是模式
窗口
,模式
窗口
会
自动
阻塞父线程的.所以如果有以下代码:
MessageBox
.Show("内容',"标题"); ....其它代码... 则只有
关闭
了
MessageBox
的
窗口
后才会运行下面的代码.而在某些场合下,我们又需要在一定时间内如果在用户还没有
关闭
窗口
时能
自动
关闭
掉
窗口
而避免程序一直停留不前..这样的话我们怎么做呢?上面也说了,
MessageBox
弹出的模式
窗口
会先阻塞掉它的父级线程.所以我们可以考虑在
MessageBox
前先增加一个用于"杀"掉
MessageBox
窗口
的线程.因为需要在规定时间内"杀"掉
窗口
,所以我们可以直接考虑使用Timer类.以下是实现代码:
VC 显示
窗口
进程ID
窗口
名以及
MessageBox
定时
自动
关闭
VC实现系统运行
窗口
的进程ID、
窗口
名、
窗口
类以及
MessageBox
实现定时
自动
关闭
面向对象C#初级入门精讲(6)WinForm基础
欢迎加入QQ群538724338咨询提问 【课程特色】 1、课程设计循序渐进、讲解细致、通俗易懂、非常适合自主学习 2、教学过程实例丰富、强调技术关键点、并且分析透彻 3、物美价廉:本着知识共享、帮助更多有需求者原则,毫无保留,不另外设置VIP课程。 此外,提供源代码+配套练习+答疑+上课日志。
C#实现延时并
自动
关闭
MessageBox
的方法
主要介绍了C#实现延时并
自动
关闭
MessageBox
的方法,非常实用的功能,需要的朋友可以参考下
回调函数及
MessageBox
自动
关闭
示例
回调函数的示例,主程序->调用函数->回调函数->程序结束,主程序->调用函数->启动线程->回调函数->程序结束。
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章