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

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的用法

【BDTC讲师】大数据时代“掘金机”:百度、360、一淘搜索技术分享 谷歌董事长:审查,将会在十年内消失 50万奖金+天使投资:创维天赐家庭互联网创新大赛开幕 专利案苹果获胜:获赔2.9亿美元 三星不服将继续上诉 Google正打造Spark:一个基于Chrome App的集成开发环境 研发周报:成为一名PHP专家其实并不难 将Vistual Studio打造成为Node.js IDE 度量Web性能的关键指标 路由器未火够!高通发布互联网处理器 Unite2014大会:移动开发者的饕餮盛宴 玩与学并存 Kano kit让你自制Raspberry Pi电脑 【BDTC讲师】Hortonworks Gunther&amp;amp;Ted:HBase、Stinger的发展与实践 人人网推出开放平台2.0 多项重大改进吸引开发者回流 红帽高管:将Linux价值理念和做法延伸到OpenStack Fundation 5发布:号称最快版本,响应式用户体验更完善 程序员远程工作必会编程语言JavaScript 苹果确认收购3D传感技术公司PrimeSense 从电影《饥饿游戏》里学到的IT知识 细数IE11的七大变化 2013中国大数据技术大会,你不可错过的10个理由 Unity 2D全球发布,开发者梦想照进现实 Kraken:改变PayPal开发文化的Node.js框架 微软高管:我们将不会再有三个Windows平台 中兴明年推智能手表 暂只能与自家手机搭配使用 移动开发必备!15款jQuery Mobile插件 Chrome新变化:在地址栏里增加搜索按钮 电信行业大数据实践走进大数据大赛:电信网络寻呼黑洞分析 京东云开发者沙龙(北京站):“千人千面”的机遇 小工具、大能量——2013移动开发工具调查报告 人人网重新布局移动社交战略 专注学生群体发布新版移动客户端 谷歌把“OK,Google”带到Chrome 让PC也能便捷语音搜索 ACCESS的删除问题 我有“处女”情结,可.............. 菜问题,,马上给分sendto问题 while和for的区别 安装的问题 我喜欢上公司的JJ怎么办????? 谁能帮我反编译?急 1.7gmsdn如何改成3张碟刻出来 启动慢? 有什么方法实现点击"提交"按钮后,弹出一个框显示表单里的数据,"确定"后再提交,"取消"后不提交? 请教vb 字符串问题 急!明天要啊!(帮忙啊!)分在另一贴给! 请问如何创建一个组控件,然后又可以动态调用?请进!:) 用Jbuilder开发,怎样配置才能开发j2me? 关于HOOK和键盘屏蔽的问题??? 如何在自己的网页上嵌入google的页面翻译功能 有关2k的内存问题 阴谋家已被清除!大家尽兴的庆祝呀! 问一下 C++基础的弱智(20分钟内结贴) 高手请看:实形变量在不同的过程中调用问题?(大家都要遇到的问题,来着有分!) 还是没解决呀!!1 350元左右的MP3播放器谁好阿?你给推荐一下? 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 昨天做成功了有限集手写汉字识别的程序,高兴,散分!!! SOS。。。一个很基础的问题 。。 系统设计和软件设计的说明书问题 [请问]两个JavaScript问题 一个企业的办公系统,使用人数5k人,预算多少合适? 我中了“冰河” 怎么办? 菜鸟问题:linux下怎么把文件a和b压缩成c啊? 请问大家一些事情(关于反汇编) 菜鸟问题:linux下怎么把文件a和b压缩成c啊? 资源管理器中选中的多个文件怎样传给我的程序 高分求购网页 在哪能下载SYBASE11.5的客户端和服务器端?急!!!!! 显示器的问题 请问如何搜索到网络中所有的消息名,即用Net Name命令显示出来的 急,有办法用java做个程序:输入“(3>4)or(3>5)",判断后输出其对应的bool值吗? 怎么在自己的程序里注册一个组件? 问一个小问题,高分相赠! mssql的JDBC那有得下,听说微软站上的那个只能连自己的SQL,有没有完全版的呀,在哪可以下? 高分求救,出现乱码了,怎么办?高手请进 DirectShow & Mpeg4! 将一sql语句放入了一个string变量中,我应该有什么函数执行他呢? 急。。。。。。。一个简单的问题。关于下拉列表的 問題集錦﹗望好心人解答﹗ 程序员书上的编程擂台的示例文件在哪里阿 怎么在自己的程序里注册一个组件? 请问有哪为高手会用Remote Data 控件 在哪时可以下载,金山词霸2002? 移相全桥软开关变换器能与串联式谐振变换器相结合么 调制解调器的英文怎么写 上海六年级第一学期数学练习部分3.只要第5道 呵呵,我知道答案了当然,我好久没做这种高中题目了.也许有不对的地方你指出来啊.如果有疑问或不懂的地方再提问哈,我尽量解答. 有线电视调制解调器用英文怎么说? 介绍石灰石是怎样形成的 电机的内压敏电阻起什么作用 解释“台阶”在不同语言环境中的意思(1)台阶高,屋主人的地位就高(2)给他们找个台阶儿下了吧 石灰石怎样检验 怎样备好课? 静如止水 静如止水 穆若清风 妇检室的英文翻译 有一多肽的分子式为C59H76O21N12,将它彻底水解后,得到下列四种氨基酸(接内容)(接标题):谷氨酸C5H9NO4,甘氨酸C2H5NO2,丙氨酸C3H7NO2,苯丙氨酸C9H11NO2 求该多肽形成的基因中至少含有碱基多少 proe的缺省模板proe 的缺省模块和其他的模块哪里不一样! 第5章是 有理数我要40页到81的答案! 土地 阅读答案•土地  大地  亿万年的静止,此刻  在眼里  连绵起伏,波涛汹涌  祖辈们和树木花草  一起扎根  草木春茂冬枯  人在一代接一代  繁衍  父母,是 淡如止水的意思 由干燥的氯酸钾和二氧化锰组合成的混合物的质量为9.9克.把该固体混合物放到大试管中加热,完全反应后,冷却到反应前的温度,称得试管中固体物质的质量为7.2克.(1)求原混合物中氯酸钾的质 关于土地的倾诉 土地,谁来爱你失去了水分的身子?细小的身子不安的身子,在我们宽大的指缝间流淌,像攥不住的时光和流水.谁来留意你的呻吟?又一栋高楼放上了你的肩膀,城市在变重,莽撞的 求助proe缺省分解问题求助各位高手: 我分解组件时总是遇到一件烦人的问题,就是我想手动分解装配图,可是每次分解时总是会进入缺省分解状态,而缺省分解状态一般是很不好用. 不知道 溶液的计算题要把1000mL60%的硫酸溶液,(密度1.5g/mL),稀释成10%的硫酸溶液,能得到10%的硫酸溶液多少克?需要加入多少毫升水?(水的密度为1g/mL)下次遇见这样的题怎么算啊? 介绍石灰石是怎样形成的 “淡若止水”什么意思?! 什么是asm哪位大哥能帮我解释一下什么事asm,自动储存管理,我看了百度百科,可是看不懂啊,那个大哥能给我解释一下啊,就是自动储存这一方面的 石灰石的产生过程是什么! 静若止水 动如脱兔 是静若止水 Baby you know I want you forever翻译为中文是什么意思 C D 选项详解14.如图所示,一细光束中含有两种单色光(分别为红色和紫色),从空气斜射到透明的玻璃砖上,透过玻璃砖后,又射出到空气中,则 (D) 光束①②玻璃砖A.出射光线中①是紫色,② 石灰石高温生成什么 怎样才算静若止水? B D选项详解. 表示向上看的一个字词语有? proE造型时,新建类型时为什么要把 使用缺省模块 前 的勾去掉 --- Guo Peng is my brother.(改为特殊疑问句)-----( )Gao Peng.(括号里只允许填一个词,但是像what‘s这样的也可以.) 机械图学中 一个三角形被细实线穿过 细实线上写有1:5 她是数学组长,英语组长 英文翻译 溴和什么管能团反应 请问机械设备图纸中这个白色的正方形和三角形是什么意思?这是国外图纸 水的分解化学式是:H2O=H2↑+O↑那么;H2+O=≠H2O? 环丙烷和溴反应的类型是加成还是取代? 以感动为话题的诗歌的题目怎么取给几个范例 ATM银行 什么意思 关于怪.妖怪.灵异.的动画有哪些呢虫师 XXXholic 夏目友人帐 怪—AYAKASHT 奇幻贵公子 滑头鬼之孙 地狱少女 心灵侦探八云 结界师 半妖绮丽谭 地狱教师 咎狗之血 都看过了 还有没有类似的 看好 以“是什么触动了我”为题的诗.一定要令人震撼,从一个不同的角度去写.越美越好!非常急! 反复的叮嘱 CAT是什么意思 以感动为题的诗 atm有个比较黄的意思是什么 沧州医专怎么样 橡胶管和弹簧夹在化学实验中的作用 CPU Internal Cache和Externai 还有FIOPPYLS120HDD-0SCSIHDD-1HDD-2HDD-3ZIP100USB-FDDUSB-ZIPUSB-CDROMUSB-HDDLANPisabledProcessor Number FeztureQuick Power On self TestAnti-Virus Protection都是什么意思说的清楚点我追加60分 24的因数有哪些?18的因数有哪些 绵阳哪里能购买化学实验台在绵阳,公司新建实验室,需要购置化学实验台,不知道哪里有卖的 英语简写CPU的意思是什么 起个神秘怪诞的英文姓 调制解调器的英文是什么? 止水为冰是什么意思? 形容言谈举止离奇怪诞的成语 调制解调器用英语怎么说?就是俗称的“猫”,上网用的那个. 冰若止水啥意思 以情报部长质疑伊朗谈判诚意 呼吁美国津巴布韦官员:中对非实行新殖民主义属美称在叙利亚西方记者有遭绑架危险 应飓风“雷蒙德”威力减弱 有望周三远离日本上传视频宣传争议领土主权 韩政府美国首条高铁动工 48公里长穿越加州津巴布韦官员:中对非实行新殖民主义属美称在叙利亚西方记者有遭绑架危险 应法国调查显示大量法国工程师赴中国等国日本上传视频宣传争议领土主权 韩政府2013“北京缘”系列活动圆满落幕(女健美运动员因滥用激素慢慢长成“男儿飓风“雷蒙德”威力减弱 有望周三远离德国现任政府正式卸任 “黑黄联盟”终委内瑞拉发生监狱暴乱 6人死亡2013“北京缘”系列活动圆满落幕(中共代表团访问新西兰美一男子强奸女友6月大女婴致死 称无沙特高调抵制安理会 拒绝接受\"鸡肋英国小王子乔治洗礼地点内部图片曝光 美国校园枪击案枪手曾遭欺凌 开枪或是周琦试训推迟归队 中国男篮绿灯放行揭秘北京“地下水城” 水厂之上将建1埃航空难不排除恐袭 空管曾呼叫飞行员科技部:科技特派员下农村保留5年编制云南本土民营航空公司红土航空将首航甘肃陇南警方破获贩毒案 缴获海洛因1幼儿园小朋友也能下两手 烂柯杯助力衢证监会:少数基金子公司风险隐患较大 西媒:利比亚雇两名专业盗贼打开卡扎菲沪小两口表白日“告白”父母 带爸妈留云南昭通学院回应“副教授与女学生不雅39万余件历史文化资料展品助推山东文冲击里约奥运会在此一举 中国男排胜算郑州公交推首台“520单身联谊专列”辽宁428个加油站成为“诚信计量加油天津再生水利用量达2.5亿立方米 管2015年银行理财产品兑付客户收益8《琅琊榜》《少帅》等角逐第22届上海国台办:坚决遏制任何形式的“台独”分胶州一辆大货车左转道突然右拐 碾死摩胶州一辆大货车左转道突然右拐 碾死摩
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘