VB.NET如何获取其他应用程序的安装路径以及如何判断一个应用程序是否已经打开

VB.NET如何获取其他应用程序的安装路径以及如何判断一个应用程序是否已经打开,第1张

你这个问题分着问兴许能快点得到答案。

我只知道一点,软件已打开,可以根据进程信息判断

Private chm_process As Process

If IsNothing(chm_process) OrElse chm_processHasExited Then

chm_process = New Process

chm_processStartInfoFileName = ApplicationStartupPath + "\软件使用说明书CHM"

chm_processStart()

Else

WinAPIShowWindowEx(chm_processMainWindowHandle, WinAPInCmdShowSW_RESTORE)

End If

让cad加载文件得找API,不知道有没有

利用sendmessage函数,查看一下api手册就可以啦,应该不是很难的

功能强大的SendMessage函数

Windows API(应用程序接口)是Windows系列软件为程序开发人员提供的火力强大的“武器库”,在这个武器库中,有很多极具威力的武器,SendMessage就是其中之一,它的功能非常丰富,灵活使用这个函数,会给编程工作带来很多便利。本文以Visual Basic为例,结合几个具体的例子介绍该函数的功能。

一、SendMeaasge函数简介

顾名思义,SendMessage函数的功能是“发送消息”,即将一条消息发送到指定对象( *** 作系统、窗口或控件等)上,以产生特定的动作(如滚屏、修改对象外观等)。

SendMessage函数在VB中的函数说明如下:

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (Byval hwnd As Long, Byval wMsg As Long,Byval wParam As Long,lParam As Any) As Long

其中四个自变量的含义和说明如下:

hWnd:对象的句柄。希望将消息传送给哪个对象,就把该对象的句柄作为实参传送,在VB中可以简单地用“对象hWnd”获得某个对象的句柄,如Text1hWnd和Form1hWnd分别可以得到Text1和Form1的句柄。

wMsg:被发送的消息。根据具体需求和不同的对象,将不同的消息作为实参传送,以产生预期的动作。

wParam、lParam:附加的消息信息。这两个是可选的参数,用来提供关于wMsg消息更多的信息,不同的wMsg可能使用这两个参数中的0、1或2个,如果不需要哪个附加参数,则将实参赋为NULL(在VB中赋为0)。

在简单了解了SendMessage函数的格式和功能后,让我们以几个例子来看看它的威力。

二、SendMessage函数使用实例

例1 多行TextBox中的快速处理功能在处理多行TextBox时我们经常会碰到以下几种情况:

希望了解多行TextBox中目前共有多少行文字。

想快速返回第N行的文字。

对于上面的情况,如果用VB自身的语句或函数来实现的话,要写不短的代码,而且由于要采用顺序查找的办法来完成,因此代码的执行效率也很低。如果使用SendMessage函数则可以大大减少代码量,并大幅度的提高执行效率。

用SendMessage函数完成上面两个任务的方法非常简单,每个任务只需简单地发送一条消息给多行TextBox即可,两个消息分别为:EM_GETLINECOUNT、EM_GETLINE,其它参数和返回值见附表。

下面用一个简单的实例演示这两个功能:

新建工程,在Form1上添加三个TextBox(名称分别为Text1、txtLineCount、TxtString,将Text1的Multi

Line属性置为True)、三个标签和一个命令按钮。为工程添加一个模块Moudle1,在其中写如下声明(其中

SendMessage函数的声明可以从VB的“API浏览器”中复制): 消息常量名 消息值 wParam lParam 返回值

EM_GETLINECOUNT &HBA 未用 未用 行数

EM_GETLINE &HC4 要找的行号 存结果的字节串 结果字节串的字节数

Shell 函数

执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

语法

Shell(pathname[,windowstyle])

Shell 函数的语法含有下面这些命名参数:

pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。

Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。

windowstyle 命名参数有以下这些值:

常量 值 描述

vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。

VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。

VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。

VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。

VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。

如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误

以上就是关于VB.NET如何获取其他应用程序的安装路径以及如何判断一个应用程序是否已经打开全部的内容,包括:VB.NET如何获取其他应用程序的安装路径以及如何判断一个应用程序是否已经打开、vb如何截取另一个程序的内容、VB如何调用外部程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9803788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存