说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB判断应用程序是否仍在运行并设置焦点

HTML文档下载 WORD文档下载 PDF文档下载
VB判断应用程序是否仍在运行并设置焦点


下面的程序将利用VB程序的一个独有的特点:隐藏的父窗口。每一个VB应用程序都有一个隐藏的父窗口。该父窗口的标题(Caption) 就是你在“生成EXE”文件时所提供的应用程序的名称。 这就是为什么当你按下Ctl+Alt+Del查看时,任务列表中显示的总是应用程序的名称,而不是程序主窗口窗口的标题。

既然父窗口是隐藏的,那我们就没有必要去改变父窗口的标题。结果是,几乎所有的VB程序都可以用下面的小程序。

请注意,有一类程序不能应用下面这段小程序:如果你在“生成EXE”文件时,将应用程序的名称设置成为零字符,那么这段程序就无效 了。这是因为很多很多窗口都将其标题设为零字符。

另一个需要注意的地方就是:该程序用到了App.Previnstance来检查程序的另一个实例正在运行。这样做可以提高程序的效率, 但代价是你不能同时运行两个或以上的要检查的程序。如果你想这样做的话,请将有App.Previnstance的那一行语句注释掉。

请将下面的代码放置在模块中:

Declare Function GetWindowWord% Lib "User" (ByVal hWnd%, ByVal nIndex%)
Declare Function GetWindowText% Lib "User" (ByVal hWnd%, ByVal lpString$, ByVal aint%)
Declare Function GetWindowTextLength% Lib "User" (ByVal hWnd%)
Declare Function GetWindow% Lib "User" (ByVal hWnd%, ByVal wCmd%)
Declare Function SetFocusAPI% Lib "User" Alias "SetFocus" (ByVal hWnd%)

' get window word constants
Const GWW_HWNDPARENT = (-8)

' get window constants
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2

'------------------------------------------------------------------------------------
' 函数: Get_Other_Instance:布尔型, 参数( inhwnd Inputonly, outhwnd Outputonly)
' 目的: 获得要检测程序的另一个实例的窗口句柄。
'
' 描述: 同其它例子不同的是:该程序能检测哪些在运行时改变主窗口标题的程序,如MS WORD
' 实现的方法是利用VB程序独有的特点,即:每一个VB程序在运行时都会产生一个隐藏的父窗口。该父窗口的标题就是
' 你在生成EXE文件时所输入的程序名。VB程序员很少改变这些字符,并且用户看不到该父窗口。
'
' 输入:inhwnd -- 被叫窗口的窗口句柄
' 输出:如果窗口被找到则为真,否则为假。
' outhwnd -- 0 或设为另一个窗体的父窗口的hwnd
'
' ------------------------------------------------------------------------------------
'
Public Function get_other_instance (ByVal inhwnd As Integer, outhwnd As Integer) As Integer
Dim parent%, nlen%, ptext$, nexthwnd%, wtext$


get_other_instance = False
outhwnd = 0

If Not app.PrevInstance Then Exit Function

parent% = GetWindowWord(inhwnd, GWW_HWNDPARENT)
nlen% = GetWindowTextLength(parent%) + 2
ptext$ = Space$(nlen%)
nlen% = GetWindowText(parent%, ptext$, nlen%)
ptext$ = Left$(ptext$, nlen%)
nexthwnd% = GetWindow(parent%, GW_HWNDFIRST) ' get the first window in the window list


Do While nexthwnd% > 0
nlen% = GetWindowTextLength(nexthwnd%) + 2
wtext$ = Space$(nlen%)
nlen% = GetWindowText(nexthwnd%, wtext$, nlen%)
wtext$ = Left$(wtext$, nlen%)

If wtext$ = ptext$ And nexthwnd% <> parent% Then
get_other_instance = True
outhwnd = nexthwnd%
Exit Do
End If

nexthwnd% = GetWindow(nexthwnd%, GW_HWNDNEXT)

Loop

End Function

将下述代码放在窗体的Load事件中

Sub Form_Load()
Dim otherhwnd%

If Get_Other_Instance(Hwnd, otherhwnd%) then
MsgBox "Application is already running. Switching to existing Application"
SetFocusAPI otherhwnd%
End
End If

End Sub

查看GetWindow,GetWindowWord,GetWindowText,GetWindowTextLength,SetFocusAPI的用法

日本任天堂掌机应用:《卢浮宫》革了谁的命? [TUP第31期]《浪潮之巅》吴军:硅谷3.0助力中国企业走向国际 SequoiaDB创始人:比MongoDB领先一到两年 打造企业级NoSQL数据库 [对话CTO]甲骨文熊光樑:全球研发模式开发出接地气产品 GitHub中国游记之长城——跨越那堵看不见的墙 IE11开发人员工具:UI响应工具详解 2013 Linux领域年终盘点 腾讯云俱乐部深圳站成功落幕 开创移动开发新篇章 解读云计算、大数据、物联网等九大IT技术发展趋势 苹果已证实收购Topsy或将涉足社交领域 触摸未来:Tactus微流体技术2014年来袭 Windows的未来:一个核心 多个版本 Github项目中使用率最高的Java/Ruby/JS库 2013中国大数据技术大会盛大开幕 从黑色星期五找到的六个规则 帮助网站转化 移动开发者的自学宝典:十大在线编程学习网站 MIT新技术:远程触摸和操纵实物 创新人机交互 中国移动研究院业务支撑研究所所长孙少陵:大数据实时处理技术发展趋势及中国移动实践和展望 “第一届中国大数据技术创新与创业大赛”主办方发言及创新分赛颁奖 中国移动研究院业务支撑研究所所长孙少陵:大会及与会嘉宾介绍 中国工程院院士、大数据专家委员会主任李国杰:能挖掘出价值的数据就是好数据 阿里飞天平台总架构师唐洪:飞天开放平台 百度大数据首席架构师林仕鼎:新计算时代 金山发布全系列IaaS平台 Google无人驾驶汽车与机器人组合,秒杀无人机 Google欲推新Chrome应用:适用于Android、iOS平台 comScore:美国市场苹果手机独占鳌头 Android和iOS双寡头垄断 一周消息树:新技术实现远程触摸和操纵实物 创新人机交互 研发周报:帮助网站转换的六大黑色星期五规则 【开源专访】JFinal作者詹波:以极简方式实现Web项目的极速开发 2013中国智能交通与大数据技术峰会:迎接交通大数据新时代 关于高程,菜鸟请各位大虾帮忙!!!! 给datarow负值,在winform可以,在webform失败? 在线统计,在国内有哪些大企业应用了客户关系管理系统(CRM)??? MessageBox不能显示 简单问题,写文字时旋转90度(立即给分) 求救,我好迷惘! 怎么得到当前系统中安装的所有程序(软件)的列表? 什么叫做域(急用) select int (*fp)(int a,int b) 和 int *fp(int a,int b)有何区别 ADO中的_RecordsetPtr的查询问题 我是学VB了,但我不知道IIS是什么意思是否能给示解答,细细说明,增分 为什么我的xp经常一开机不久就发出警报声音 求救,我好迷惘! 请网友们注意接分 郁闷!太郁闷了!大家都来看看,散分 仓库物料存仓量统计问题,SQL语句怎样写,进仓、出仓在不同的表呀! 菜鸟请教高手:这样的代码能写吗 求救,我好迷惘! 怎样使热点(光标)跳到某个对像?? 内空,请sharetop进来领分 仓库物料存仓量统计问题,SQL语句怎样写,进仓、出仓在不同的表呀! 请问oracle和sql server两者最大区别是什么? 请问哪里有<vc60宝典>的电子书下载?不够分再加 用RDS技术要什么样的系统设定?? 如何判断image里有没有图片? 请问高手,能不能给edit的一定部分加阴影。 如果数据达到百万条,如何来优化检索速度???希望高手进来探讨!!! 请问大侠!一个网卡可以和两个ip绑定吗? 大家帮我找原因 开机时候如何进入dos状态? 前辈误会啦!我只是写了可把查询结果用表格显示的程序, 打印还是没有思路!!! 急哭... 重庆考程序员的兄弟们近来看看吧! 调度算法问题! 求救!!win2000的删除与添加程序打不开了? 怎样在程序中把影像文件做成rm格式? 让别人通过IE访问我的JAVA程序该如何做! 青蛙的特征 [zz] 暴走银狼的程序作不出想要的不规则窗体 ——————大侠们快来看网络专业程序呀—————— pb8连oracle9i时出现ORA-12514, 监听进程不能解析在连接描述符中的service_name 要求当鼠标离开Groupbox的范围时相应某一事件,我该怎么作呢 上海、北京和深圳,何去何从? 在flash场景1中使用了loop背景音乐,怎么转换到场景2中还在播放啊 如何设置Windows2000 Server的登陆密码 什么叫关联数据库? 增分 MDI问题 我问一个问题 在flash场景1中使用了loop背景音乐,怎么转换到场景2中还在播放啊 请教:如何打印窗体时可以设置窗体大小,可以正好打在A4纸上?如能实现打印予览最好?请说明详细些。 网页上公司的英语名称不用写,给帮帮 若m为三角形abc的重心,则下列各向量中与向量ab共线的是 ( ) A.向量AB+向量BC+向量AC B.向量AM+向量MB+向量若m为三角形abc的重心,则下列各向量中与向量ab共线的是 ( ) A.向量AB+向量BC+向量AC B.向量A 谁可以告诉我万有引力,电磁相互作用,强相互作用和弱相互作用的区别好像好难区分,谁可以告诉我最本质的区别 晚上做梦,梦到水怎么样 在三角形ABC中,AB=AC=17.BC=16,M是三角形ABC三边中线的交点,则AM=? 由碰撞产生的弹力属于强相互作用、若相互作用、电磁作用和万有引力作用中的哪一种? 晚上做梦梦见水好吗? 如图,在三角形ABC中,∠C=90°,M在BC上,若AB=17,AM=10,BM=9,求AC=,MC的长 哪些水果是碱性? 《看云识天气》阅读题(二)阅读课文第2~5自然段回答问题1.第2段和第345段是-------关系,在内容上起------和-------的作用. 设M是三角形ABC的重心,记向量BC=向量a,向量CA=向量b,向量AB=向量c,且向量a+向量b+向量c=0,则向量AM= 苏打粉泡打粉哪个碱性大 洗水果用什么去农药残留 一位同学在做氢气还原氧化铜的实验时,试管破裂了.请举出三种可能导致试管破裂的原因 1、子弹以700m/s的速度射穿一块木板后速度减为500M/s,求子弹继续射穿完全相同的第二块木板后的速度(设子弹所受的阻力恒定) 那些水果是碱性的水果? 看云识天气 阅读题 一、请指出下列句子使用的说明方法.1.另有一种比晕小的彩色光环,叫做“华”.2.人们常说:“东虹轰隆西虹雨."3.它们常在两千米左右的天空,一朵朵分散着,映着灿烂的阳 父亲今年36岁,儿子今年6岁,几年后父亲的年龄是儿子的4倍? 要套题,有选择, 哪些水果呈强碱性?还有十多天就校运会了,听说得多吃碱性食物,请问哪些水果呈强碱的?100分,采纳时补上! 今年爸爸的年龄是儿子年龄的6倍,4年后,爸爸的年龄是儿子的4倍,今年儿子多少岁 垃圾堆 短文 阅读理解 垃 圾 堆深夜,美国某城市的一条僻静的街道上,就在公共汽车开动的一瞬间,一位刚下车的老人,突然看见垃圾堆前有几个鬼鬼祟祟的人影.老人的心怦怦直跳.他很明白: 如图,已知平行四边形ABCD中,AE⊥BC,AF⊥DC,∠EAF=30°,AE=3cm,AF=2cm,求平行四边形ABCD的周长五分钟之内! 今年父亲的年龄是儿子年龄的10倍,6年后父亲的年龄是儿子年龄的4倍,则今年父亲的年龄是?我要简便的解体方案,不是列方程式 在三角形ABC中,AB=7,AC=6,M 是 BC 的中点,AM=4,则BC=? 已知平行四边形ABCD的周长是52厘米,CD=16厘米,AE=8厘米,求AF的长 下列关于化学反应限度的说法中正确的是( )A.当一个可逆反应达到平衡状态时,这就是这个反应所能达到的限度B.当一个可逆反应达到平衡状态时,那么这个反应的正向反应速率和逆向反 二氧化碳是不是可以看为分子晶体又可以看为原子晶体?二氧化硅呢? 图中的两个三角形有几对相等的角?这两个三角形全等吗?请说明理由 对于化学反应A+B=C+D,下列说法正确的A:若C、D分别为单质和化合物,则该反应一定是置换反应B:若C、D是盐和水,则该反应一定是复分解反应C:若A、B、C、D都是化合物,则该反映一定是复分解反 体温计:水银在缩口处断开,但缩口上的水银柱也会热胀冷缩啊,这样也影响示数不是么? 1.图中的两个三角形全等吗?请说明理由. 关于化学反应A+B=C+D 下列说法正确的是( )A.若A和C是单质,B和D是化合物,则该反应一定是置换反应B.若A.B各取10克混合,使其充分反应,则C.D质量的总和一定等于20克.答案是B为什么?我刚刚看了答 H.L的几何语言 图中的两个三角形全等吗?请说明理由. 金刚石与石墨的转化的化学反应方程式 3080立方厘米=()l快速到底哪个? 万有引力是有引力场引起的,电磁力是由电磁场引起的,那强相互作用力和弱相互作用力是不是也由某种场引起的呢 焰色反应为什么不是化学反应而是物理的?有新物质生成的反应一定是化学反应这句话对吗?那些核裂变什么的不也生成了新的核素? 456立方厘米=多少L 蔬菜与水果怎样才能去除农药残留今天吃了没洗干净的茄子,搞的全家上吐下泻的,郁闷死了 四棱锥S-ABCD的底面是矩形、SA垂直底面ABCD、E F 分别是SD SC的中点 求(1)EF与平面SAD所成的角(2)若SC=2CD求SC与平面SAD所成角 如图在等边三角形ABC中OB,OC分别是∠ABC,∠ACB的角平分线OB,OC的中垂线分别交于点MN,说明△MON是等边三角 清除果蔬上农药残留的活性氧是如何制造的? 高一物理---物体的平衡质量为9.8kg的木块放在水平面上,在大小为30N,方向与水平成37°斜向上拉力作用下恰好沿水平地面匀速滑动.若改用水平拉力,使该木块在水平地面上仍匀速滑动,水平拉力 把长50厘米、宽30厘米、高20厘米的水果箱.的上下盖打开后是个纸筒,做这个水果箱要用材料多少平方厘米? 已知PA是圆o的切线,A为切点,PBC是过点o的割线,PA=10cm,PB=5cm,则圆o的半径长为______ 如图,BE,CF分别是钝角△ABC(角A>90°)的高,在BE上截取BP=AC,在CF的延长线上截取CQ=AB,连接AP、AQ.(1)AP与AQ相等吗?说明理由.(2)判断AP与AQ的位置关系,并对你的判断进行证明. 妈妈带了500元去批发水果,进了30箱,还剩下50元.每箱水果多少元? 如图,圆O的割线PAB交圆O于点A、B,PA=7CM,AB=5CM,PO=10CM,则圆O的半径是 已知,如图BE,CF是△ABC的边AC和AB上的高,在BE上截取BP=AC,在CF的延长线上截取CQ=AB,求证:AP=AQ 原子弹的爆炸会对地球有什么坏处 看云识天气阅读题我们还可以根据云上的光彩,推测天气的情况.在太阳和月亮的周围,有时会出现一种美丽的七彩光圈,里层是红色的,外层是紫色的.这种光圈叫做晕.日晕和月晕常常出现在卷层 BE,CD为△ABC的高,在BE延长线上截取BP=AC,在CD上截取CQ=AB,连接AP、AQ.求证AP=AQ 问:假如地球的中心有颗原子弹爆炸,对地球会有什么影响吗? 图中的三角形全等吗?请说明理由? 金刚石转化Wie石墨的热化学方程式 传说地球上有30颗原子弹爆炸地球就毁了? 请问用淘米水洗头用把水烧开吗? 点G是三角形ABC的重心,过G作直线与AB,AC两边分别交于M,N两点 ,且向量AM=x向量AB,向量AN=y向量AC,则x*点G是三角形ABC的重心,过G作直线与AB,AC两边分别交于M,N两点 ,且向量AM=x向量AB,向量AN=y向量AC,则 如图,从点P引圆o的切线PA,PB,则PA=多少?如图,从点P引圆o的切线PA,PB,切点分别为A,B,DE切圆o于点C,交PB,PA于点D,E,若△PDE的 周长为20cm,则PA=——cm 用淘米水洗头好吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘