写了VB的应用程序,最后怎么关闭该程序呢

写了VB的应用程序,最后怎么关闭该程序呢,第1张

1VB的启动方式有两种

1

sub

main

2

form_load

结束也是两个方法,

sub

main

对应的执行到end

sub

就算结束

form_load就是Unload

me

当然全部结束的方法是END

但End

语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用

Stop

语句,则可以在保留这些变量值的基础上恢复执行。

注意

End

语句不调用

Unload、QueryUnload、或

Terminate

事件或任何其它

Visual

Basic

代码,只是生硬地终止代码执行。窗体和类模块中的

Unload、QueryUnload、和

Terminate

事件代码未被执行。类模块创建的对象被破坏,由

Open

语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。

End

语句提供了一种强迫中止程序的方法。Visual

Basic

程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭。

很简单,并不需要用API函数,直接调用命令提示符(Cmdexe)来结束进程。

Private

Sub

Command1_Click()

Shell

"cmdexe

/c

taskkill

/im

taskmgrexe

/f",

vbHide

End

Sub

这段代码是用来结束任务管理器(taskmgrexe)的进程的。你可以将代码中的“taskmgrexe”改成任意一个程序进程的名字,用来结束它。

代码解释:

Shell

"cmdexe

/c"

:调用命令提示符。

taskkill

/im

taskmgrexe

/f

:会用批处理的都知道,这个就是结束进程的命令。

vbHide:隐藏命令提示符运行时的窗口

Vb中清空退出代码如下所示:

私有子Cmdcls_Click()

Text1。文本=0

终止子

VB使用一个GUI系统,它允许您轻松地构建应用程序,但也允许您开发相当复杂的程序。VB的程序是一个基于表单的可视化组件组合,并添加了指定组件属性和方法的代码。

因为组件中已经定义了一些默认属性和方法,所以程序员不需要编写很多代码就可以完成一个简单的程序。

VB程序可以包含一个或多个表单,或者一个主表单和多个子表单,类似于 *** 作系统。具有很少特性的对话框窗口(例如没有最大化和最小化按钮的表单)可用于提供d出功能。

扩展资料:

VB变量类型:

1.整数类型(%)

Integer指的是介于-32768和+32767之间的整数,通常这个范围已经涵盖了可能使用的大多数数字。如果您认为要使用一个可能超出这个范围的数字,请考虑将其定义为Long。

2 长(&)类型

这种数据类型有时称为长整数。该数据类型可以处理-2147483648到+2147483647之间的所有数字。它使用四个字节的内存来存储数据,而不是使用两个字节的整数。

3.单(类型)

Single用于需要小数点的数字。Single可以处理-3.402823e38和-1.401298e-45之间的负值和1.401298E_45和3.402823E38之间的正值。

4.双(#)型

这种数据类型需要8个字节的内存来存储数据。如果必须处理非常大的值范围,则此数据类型非常有用。

有两种方法unload me 和end,但是效果是不同的 如果你指的是关闭窗口的话 1 Sub Command1_Click() unload me End Sub 此段代码将卸载自身窗口, 如果按钮在主窗口上(form1), 所有窗口将被关闭(卸载),程序将结束 如果按钮在另一个窗口(form2或其他)上, 将卸载另一窗口, 其他窗口不被卸载 注:卸载指窗口在内存中的数据被释放 2 Sub Command1_Click() end End Sub 按钮在任何窗口上执行代码, 所有窗口被卸载 程序都将结束 3 Sub Command1_Click() mehide End Sub 次段代码将隐藏自身窗口 窗口内代码继续执行 只不过窗体我们看不到 随时可用meshow显示此窗口 、悲伤的独奏曲

调用系统自带的taskkill

call shell("taskkill /im " & "XXXEXE",vbhide)

使用API:

Attribute VB_Name = "killtask"

Option Explicit

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long

Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long

Private Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long

Private Type PROCESSENTRY32

dwSize As Long

cntUsage As Long

th32ProcessID As Long

th32DefaultHeapID As Long

th32ModuleID As Long

cntThreads As Long

th32ParentProcessID As Long

pcPriClassBase As Long

dwFlags As Long

szExeFile As String 1024

End Type

Const TH32CS_SNAPHEAPLIST = &H1

Const TH32CS_SNAPPROCESS = &H2

Const TH32CS_SNAPTHREAD = &H4

Const TH32CS_SNAPMODULE = &H8

Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)

Const TH32CS_INHERIT = &H80000000

Dim pid As Long

Dim pname As String

'-------------结束进程通用函数 注意进程名要区分大小写

Private Sub taskkill(ByVal taskname As String)

Dim my As PROCESSENTRY32

Dim l As Long

Dim l1 As Long

Dim flag As Boolean

Dim mName As String

Dim i As Integer

l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

If l Then

mydwSize = 1060

If (Process32First(l, my)) Then '遍历第一个进程

Do

i = InStr(1, myszExeFile, Chr$(0))

mName = LCase$(Left$(myszExeFile, i - 1))

If mName = LCase$(taskname) Then

pid = myth32ProcessID

pname = mName

Dim mProcID As Long

mProcID = OpenProcess(1&, -1&, pid)

TerminateProcess mProcID, 0&

flag = True

Exit Sub

Else

flag = False

End If

Loop Until (Process32Next(l, my) < 1) '遍历所有进程知道返回值为False

End If

l1 = CloseHandle(l)

End If

End Sub

在程序中调用taskkill即可

call taskkill("XXXEXE")

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As SystemWindowsFormsFormClosingEventArgs) Handles MeFormClosing

End

End Sub'点击X号退出的代码

Private Sub Button1_Click(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles Button1Click

End

End Sub'点击Button1推出的代码

以上就是关于写了VB的应用程序,最后怎么关闭该程序呢全部的内容,包括:写了VB的应用程序,最后怎么关闭该程序呢、如何用vb结束任务管理器的进程。如(explorer.exe)、VB中清除和退出代码各是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9437319.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存