CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

请教:如何让程序自动点击 ShowMessage("Hello") 提示框

楼主mrarong(my name is 007)2005-03-03 12:48:58 在 C++ Builder / 基础类 提问

我在程序代码中添加了一个必须的提示框   ShowMessage("Hello"),   因为有时候需要查看,但是如果在使用的时候我暂时不在电脑旁边,需要程序自动设置一个时限,超过该时限就自动点击   ShowMessage("Hello"),以便程序继续运行,我该如何实现 问题点数:100、回复次数:17Top

1 楼cczlp(不惑)回复于 2005-03-03 12:53:49 得分 10

HWND   hwnd   =   FindWindow("xxx",   "xxxx");  
  PostMessage(hwnd,   WM_CLOSE,   NULL,   NULL);Top

2 楼mrarong(my name is 007)回复于 2005-03-03 13:02:45 得分 0

To:   cczlp  
  对不起,我是刚入道,请问这两个函数怎么使用  
  比如我的函数是:  
  void   __fastcall   TForm1::Button2Click(TObject   *Sender)  
  {  
          ShowMessage("Hello");  
  }  
  该如何处理?Top

3 楼Maconel(Maconel)回复于 2005-03-03 13:39:08 得分 10

ShowMessage是模式对话框,因此你的程序执行到这里就会停下来,一直等函数返回了,也就是窗体关闭了,才能继续执行其他代码,因此自动关闭的代码就要放在一个线程里去执行。  
   
  所以建议你一个简单点的方法,不要用ShowMessage,而是自己来做一个窗体,实现ShowMessage的功能,时间到了,新窗体自动关掉就是了,甚至还可以加上倒计时的功能。Top

4 楼constantine(飘遥的安吉儿)回复于 2005-03-03 13:40:38 得分 10

HWND   FindWindow(  
   
          LPCTSTR   lpClassName, //   pointer   to   class   name  
          LPCTSTR   lpWindowName   //   pointer   to   window   name  
        );Top

5 楼constantine(飘遥的安吉儿)回复于 2005-03-03 13:43:28 得分 0

其实大M的建议很不错,Top

6 楼milkwayhong(自在)回复于 2005-03-03 13:58:07 得分 20

这样用吧:  
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
  //ShowMessage("Hello");  
      MessageDlg("Hello",mtInformation,   TMsgDlgButtons()   <<   mbOK,   0);  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::Timer1Timer(TObject   *Sender)  
  {  
  HWND   hwnd   =   FindWindow(NULL,   "Information");  
  PostMessage(hwnd,   WM_CLOSE,   NULL,   NULL);  
  }Top

7 楼chiengod(钱神爷)回复于 2005-03-03 14:30:44 得分 0

各位的方法都不错,就不多说什么了!Top

8 楼jekeywood(各回各家,各找各妈!)回复于 2005-03-03 17:08:57 得分 5

通常解决问题都不止一个方法.见人见智,大家说得都很好啊.值得学习.  
  Top

9 楼samchoy(老蔡)回复于 2005-03-03 22:01:43 得分 0

个人赞成   Maconel(Maconel)   的方法Top

10 楼hsanyu(黄老邪)回复于 2005-03-03 23:15:30 得分 0

Maconel(Maconel)   的回答好Top

11 楼JedyWoody(学,然后知不足)回复于 2005-03-05 13:25:05 得分 0

jekeywood???  
  差点认成我的别名Top

12 楼blow_jj(阿俊)回复于 2005-03-06 12:02:51 得分 10

用SendMessage或者PostMessage都是可以的  
  用Hook钩住弹出窗体也是可以的  
  大M的说法也可以Top

13 楼dgyanyong(幸运飞龙)回复于 2005-03-07 12:02:44 得分 10

void   __fastcall   TForm1::Button4Click(TObject   *Sender)  
  {  
      Button1->Click();  
  }  
  加一个Timer   控件   时间的问题就解决了Top

14 楼sephil(NAILY Soft 【哈里波特大】)回复于 2005-03-07 13:35:22 得分 10

用CreateMessageDialog吧  
  还可以得到TForm*,够用了吧Top

15 楼rouqing(*冰雨&双子座奇缘*)回复于 2005-03-07 15:11:42 得分 10

SendMessage(...Handle,BM_CLICK,0,0);Top

16 楼wg961423(臭虫)回复于 2005-03-07 15:50:02 得分 0

个人赞成   Maconel(Maconel)   的方法Top

17 楼toby(宝宝)回复于 2005-03-07 17:45:32 得分 5

可以参考FoxMail中的做法,自己写一个窗体,然后用TTimer关闭。Top

相关问题

  • 在redhat9.0下安装microwindows后,运行一个hello程序,链接共享库提示出错
  • 控制台程序的进度提示
  • 编译时程序提示出错?
  • 编译程序老提示login incorrect!
  • 百度程序错误 请提示
  • 程序提示Terminated是何原因?
  • 用程序如何关闭带退出提示的程序?
  • 用程序如何关闭带退出提示的程序?
  • 程序出错,错误提示怎么看(已贴原程序代码和错误提示)
  • WinCE4.0程序安装好后,运行程序提示“不是有效的WinCE程序”是什么问题?

关键词

  • 函数
  • 代码
  • 执行
  • showmessage
  • 窗体
  • 程序
  • hello
  • tform
  • 关闭
  • hwnd

得分解答快速导航

  • 帖主:mrarong
  • cczlp
  • Maconel
  • constantine
  • milkwayhong
  • jekeywood
  • blow_jj
  • dgyanyong
  • sephil
  • rouqing
  • toby

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo