主题:请教VB关于摸态窗口的问题 请各位大哥指点迷津
touching1314
[专家分:0] 发布于 2008-06-27 16:33:00
我想让我的程序中跳出的窗口能锁定电脑屏幕
就是说,如果不对跳出的窗口做回应的话,将不能做其它任何操作。
(这个和摸态窗口不一样,摸态窗口你可以不管他,照样运行其他应用程序,这不是我想要的。)
请问VB能做到吗?在XP操作系统下
请路过的高手帮忙解答,小弟先谢谢了。
回复列表 (共5个回复)
沙发
touching1314 [专家分:0] 发布于 2008-06-28 09:25:00
怎么没人理我啊[em21][em21][em21]
板凳
tanchuhan [专家分:15140] 发布于 2008-06-28 12:02:00
MsgBox "hello world!", vbSystemModal
3 楼
touching1314 [专家分:0] 发布于 2008-06-28 13:58:00
终于有人理我了,嘿嘿,谢谢你的回复 [em1]
我知道VBSYSTEMMODAL
它就是让MSG窗口挂在所有程序的前面,但是还是可以运行Windows下的其它程序
我要的是不能运行其它程序的
看来是没指望了,哎~~~[em31]
想别的办法吧
4 楼
shifta [专家分:380] 发布于 2008-06-29 12:57:00
楼主的想法应该是想让某个窗口始终在桌面的最上面,不关闭这个窗口就不能进行其他的操作,这个可以用API函数来解决,先声明如下API函数:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
在窗体的load过程放入如下代码:
Private Sub Form_Load()
Dim retvalue As Long
retvalue = SetWindowPos(Me.hwnd, -1, Me.CurrentX, Me.CurrentY, 12, 20, &H2)
Me.Top = 0
Me.Left = 0
Me.WindowState = 2 'Maximized
End Sub
其中的12和20两个数字分别表示窗体的宽和高,单位为像素。
5 楼
touching1314 [专家分:0] 发布于 2008-07-01 21:29:00
谢谢4楼的答复,但是API函数我还不懂,但是你的建议我收下了,现在去了解一下API
再次感谢。
我来回复