CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

如何刷新一个窗口?

楼主Tenner(BE.Tenner)2003-03-03 20:59:15 在 VB / API 提问

我用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

相关问题

  • 如何刷新Modal窗口
  • 如何刷新数据窗口?
  • 如何刷新窗口指定区域,
  • 如何刷新所有弹出窗口
  • 如何刷新你的子窗口?
  • 如何刷新弹出窗口
  • 打开showmodaldialog,如何刷新父窗口?
  • 窗口刷新
  • 如何在一个窗口刷新另外一个窗口?
  • 如何在一个窗口中刷新另一个窗口呢?

关键词

  • 刷新
  • longdim
  • showwindow
  • bswap
  • byval
  • findwindow
  • task
  • hwnd
  • 找到
  • win

得分解答快速导航

  • 帖主:Tenner
  • zhuangbx220
  • JennyVenus

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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