如何做一个提示框,让它显示在所有窗口最上层,并且响应以后才能做其它工作(包括其它外部程序)(100分)

  • 主题发起人 主题发起人 lonelylion
  • 开始时间 开始时间
L

lonelylion

Unregistered / Unconfirmed
GUEST, unregistred user!
也就是说必须先点我这个“确定”才能做其它工作
 
有土办法:
1、弹出此窗口的时候,屏闭系统键盘。(目的是不让用户转到别的窗口)。
2、将鼠标限制在这个窗口之内。(目的,逃不出“窗口心”)。
 
:(
没好一点的办法吗?
 
设置你窗体的属性为AlwaysOnTop, 然后调用ShowModal显示对话框啊。
 
to giveup:
即使这样你还可以切换到其它应用程序呀,我的意思是不点“确定”就不能操作windows,可以做到吗?
 
FormStyle:=AlwaysOnTop;
Application.CreateForm(TForm2,Form2);
Form2.ShowModal;(模式框)
Free;
 
Form2.Free;
 
你说的“显示在最上面”是不是“总在最前面”的意思?
 
你真狠:)

开你的程序的话边windows的其他程序都不让用啊:)

不过我也想知道。。所以。。。。来听听:)[:D]
 
我的意思可能没表达清楚,就是说:
就象用ShowMessage('...')弹出来一个提示框,只有响应了这个信息才能操作windwos和其它应用程序。
 
同意yhaochuan
 
在win2000下你无论如何也做不到啊(起码是很费劲)?
 
假如弹出提示框时你正在Word里写文章,这样你就看不到提示框了呀。
 
有办法,你做个巨大的 messagegbox ,和屏幕一样大,再AlwaysOnTop、ShowModal,
虽然还是对付不了win2000的ALT+CTRL+DEL,但可以防止切换到其他窗口,呵呵呵……
 
真的没有好办法吗?那Hack程序里发消息是用什么方法呢?
 
对于98下,可以首先将屏幕抓图,然后以全屏最大化方式将这个图显示出来,作为假的桌面,然后
屏蔽系统热键,就应该没问题了,我看过有几个软件就是这样做的。
 
你试试截获系统所有的消息,然后由你的程序来处理,不过很麻烦的,没有试过
 
作个模式窗体就是了

;用showmodal弹出不就行了吗
 
  条件降低一点,弹出一个象win2000“信使服务”那样的提示框或98里的popup,虽然
可以切换到其它程序工作,但它可以一直保持在最上层!(用FormStyle:=AlwaysOnTop;
不行,还是会被其它窗口盖住,ShowModal更不行,它是在一个应用程序中才可以的)
 
后退
顶部