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

问高手!防止多次启动的问题:previnstance探测到这个程序已经启动的时候,如何自动地show出已经运行的这个previnstance的form?

楼主linzish(风发少年)2004-12-01 17:45:56 在 VB / 基础类 提问

 
  我暂时用的笨办法是下面的代码(在form_activate()中):  
  '防止程序同时多个启动  
  If   App.PrevInstance   =   True   Then  
                    Unload   Me  
                    MsgBox   "程序已经启动,请单击右下脚图标!",   vbInformation   +   vbOKOnly,   "消息"  
                    Exit   Sub  
        End   If  
  请教高手:如何在unload   me之后把这个App.preinstance   的窗体show出来?  
    高手都来顶    
  问题点数:0、回复次数:11Top

1 楼baoaya(点头)(大风起兮云飞扬)回复于 2004-12-01 17:55:51 得分 0

If   App.PrevInstance   =   True   Then  
                  Dim   strTitle   As   String  
                  strTitle   =   Me.Caption  
                  Me.Caption   =   ""  
                  AppActivate   strTitle   '激活窗口  
                  MsgBox   "程序已经启动,请单击右下脚图标!",   vbInformation   +   vbOKOnly,   "消息"  
                  End  
          End   If  
  Top

2 楼happy_sea(开心海(数据读取中,请稍候......))回复于 2004-12-01 18:25:25 得分 0

帮你顶一下!Top

3 楼Lionking1027(自由之子)回复于 2004-12-01 19:40:44 得分 0

关注,我也想知道Top

4 楼fishzone(阿愚@脸上有疤)回复于 2004-12-01 19:49:03 得分 0

在系统中遍历所有的窗体,找到你的程序(比如你的窗体标题总有自己的特殊的关键字吧)。然后向这个窗体的句饼   SendMessage   让它在任务栏中闪烁或者弹出来。  
  Top

5 楼nanshenvip()回复于 2004-12-01 22:14:45 得分 0

根本不用遍历,那要费很长时间的,其实二楼baoaya(点头)的方法最简单也实用Top

6 楼linzish(风发少年)回复于 2004-12-02 18:07:18 得分 0

baoaya(点头)   大哥,我想的就是去掉  
   
  MsgBox   "程序已经启动,请单击右下脚图标!",   vbInformation   +   vbOKOnly,   "消息"  
   
  而直接让原来的窗口show出来(新调用的窗口不要出现)!如何做到呢?Top

7 楼Plutoxkxu(★深渊★)回复于 2004-12-02 18:16:05 得分 0

不会再顶,学习Top

8 楼baoaya(点头)(大风起兮云飞扬)回复于 2004-12-02 18:17:51 得分 0

你先自定义一个消息   然后把窗口子类化   ,就是   使用GWL_WNDPROC参数调用   SetWindowLong,譬如    
    call   SetWindowLong(hWnd,   GWL_WNDPROC,   AddressOf   NewWindowProc)  
  然后在函数   NewWindowProc   里接收窗口消息,如果收到的消息是   你自己定义的那个消息的话   就  
  MsgBox   "程序已经启动,请单击右下脚图标!",   vbInformation   +   vbOKOnly,   "消息"  
  Top

9 楼baoaya(点头)(大风起兮云飞扬)回复于 2004-12-02 18:19:16 得分 0

然后   PrevInstance   =   true   的话   就发这个自定义的消息给先前已经打开的窗口Top

10 楼bu_wen(不文)回复于 2004-12-06 18:17:12 得分 0

使用DDE     就可以轻松解决Top

11 楼aijie099(罗漫年华)回复于 2004-12-06 21:37:38 得分 0

我做了个控件,在  
  http://redxia.netme.cn  
  可以下载,看看,能不能用上。Top

相关问题

  • 自动运行?
  • 自动运行IE
  • 自动后台运行
  • [运行]自动关闭?
  • 自动运行的问题
  • application如何自动运行?
  • 关于自动运行
  • NT4如何自动运行IIS
  • 使程序开机自动运行
  • 怎麽让程序自动运行!

关键词

  • 消息
  • me
  • previnstance
  • 窗体
  • vbinformation+
  • vbokonly
  • 高手
  • 程序已经启动
  • 请单击右下脚图标
  • strtitle

得分解答快速导航

  • 帖主:linzish

相关链接

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

广告也精彩

反馈

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