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

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

ID:6490465

大小:24.50 KB

页数:3页

时间:2018-01-15

判断应用程序是否仍在运行并设置焦94626_第1页
判断应用程序是否仍在运行并设置焦94626_第2页
判断应用程序是否仍在运行并设置焦94626_第3页
资源描述:

《判断应用程序是否仍在运行并设置焦94626》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、判断应用程序是否仍在运行并设置焦94626下面的程序将利用VB程序的一个独有的特点:隐藏的父窗口。每一个VB应用程序都有一个隐藏的父窗口。该父窗口的标题(Caption)就是你在“生成EXE”文件时所提供的应用程序的名称。这就是为什么当你按下Ctl+Alt+Del查看时,任务列表中显示的总是应用程序的名称,而不是程序主窗口窗口的标题。既然父窗口是隐藏的,那我们就没有必要去改变父窗口的标题。结果是,几乎所有的VB程序都可以用下面的小程序。请注意,有一类程序不能应用下面这段小程序:如果你在“生成EXE”文

2、件时,将应用程序的名称设置成为零字符,那么这段程序就无效了。这是因为很多很多窗口都将其标题设为零字符。另一个需要注意的地方就是:该程序用到了App.Previnstance来检查程序的另一个实例正在运行。这样做可以提高程序的效率,但代价是你不能同时运行两个或以上的要检查的程序。如果你想这样做的话,请将有App.Previnstance的那一行语句注释掉。请将下面的代码放置在模块中:DeclareFunctionGetWindowWord%Lib"User"(ByValhWnd%,ByValnIndex

3、%)DeclareFunctionGetWindowText%Lib"User"(ByValhWnd%,ByVallpString$,ByValaint%)DeclareFunctionGetWindowTextLength%Lib"User"(ByValhWnd%)DeclareFunctionGetWindow%Lib"User"(ByValhWnd%,ByValwCmd%)DeclareFunctionSetFocusAPI%Lib"User"Alias"SetFocus"(ByValhWnd%

4、)'getwindowwordconstantsConstGWW_HWNDPARENT=(-8)'getwindowconstantsConstGW_HWNDFIRST=0ConstGW_HWNDNEXT=2'------------------------------------------------------------------------------------'函数:Get_Other_Instance:布尔型,参数(inhwndInputonly,outhwndOutputonly)

5、'目的:获得要检测程序的另一个实例的窗口句柄。''描述:同其它例子不同的是:该程序能检测哪些在运行时改变主窗口标题的程序,如MSWORD'实现的方法是利用VB程序独有的特点,即:每一个VB程序在运行时都会产生一个隐藏的父窗口。该父窗口的标题就是'你在生成EXE文件时所输入的程序名。VB程序员很少改变这些字符,并且用户看不到该父窗口。''输入:inhwnd--被叫窗口的窗口句柄'输出:如果窗口被找到则为真,否则为假。'outhwnd--0或设为另一个窗体的父窗口的hwnd''--------------

6、----------------------------------------------------------------------'PublicFunctionget_other_instance(ByValinhwndAsInteger,outhwndAsInteger)AsIntegerDimparent%,nlen%,ptext$,nexthwnd%,wtext$get_other_instance=Falseouthwnd=0IfNotapp.PrevInstanceThenExit

7、Functionparent%=GetWindowWord(inhwnd,GWW_HWNDPARENT)nlen%=GetWindowTextLength(parent%)+2ptext$=Space$(nlen%)nlen%=GetWindowText(parent%,ptext$,nlen%)ptext$=Left$(ptext$,nlen%)nexthwnd%=GetWindow(parent%,GW_HWNDFIRST)'getthefirstwindowinthewindowlistDoWh

8、ilenexthwnd%0nlen%=GetWindowTextLength(nexthwnd%)+2wtext$=Space$(nlen%)nlen%=GetWindowText(nexthwnd%,wtext$,nlen%)wtext$=Left$(wtext$,nlen%)Ifwtext$=ptext$Andnexthwnd%parent%Thenget_other_instance=Trueouthwnd=nexthwnd%ExitDoEndIf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。