如何刷新一个窗口?
我用FindWindow找到了一个窗口的句柄,并且用SetWindowLong将它的Style设为不可见,但这是窗口并不立即消失,即不会立即刷新,请问如何让他立即刷新?请给出代码,谢谢。 问题点数:50、回复次数:8Top
1 楼JennyVenus()回复于 2003-03-03 22:50:39 得分 0
UpdateWindow
or
InvalidateTop
2 楼hotzhu(天下无妞)回复于 2003-03-03 22:53:26 得分 0
向其发送消息,让其重绘Top
3 楼Tenner(BE.Tenner)回复于 2003-03-03 23:43:11 得分 0
请给出源代码!
我已经试过 UpdateWindow 与 RedrawWindow 方法,都无效Top
4 楼zhuangbx220(星)回复于 2003-03-04 08:57:07 得分 30
用ShowWindows,,,ApI
showwindows hwnd,0Top
5 楼JennyVenus()回复于 2003-03-04 09:06:45 得分 20
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Dim task As Long
Dim win As Long
Dim bswap As Boolean
Private Sub Command1_Click()
If Not bswap Then
ShowWindow win, 0
Else
ShowWindow win, 1
End If
bswap = Not bswap
End Sub
Private Sub Form_Load()
task = FindWindow("Shell_TrayWnd", vbNullString)
If task Then
win = FindWindowEx(task, 0, "Button", vbNullString)
If win Then
Else
MsgBox "没有找到开始按钮"
Unload Me
End If
Else
MsgBox "没有找到任务栏"
Unload Me
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If bswap Then
ShowWindow win, 1
End If
End Sub
Top
6 楼litsnake1(litsnake)回复于 2003-03-04 09:15:08 得分 0
upTop
7 楼softlead(向.Net)回复于 2003-03-04 20:21:43 得分 0
上面的好象是小时了
但是
开始菜单 按扭没有了?
Top
8 楼wxy_xiaoyu(猪是的看来过倒)回复于 2003-03-04 20:32:27 得分 0
直接使用 ShowWindow
它有个隐藏的参数的Top




