VB能关闭其它应用程序吗

VB能关闭其它应用程序吗,第1张

'VB 终止指定进程 ,刷新托盘图标

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

Private Type MODULEENTRY32

dwSize As Long

th32ModuleID As Long

th32ProcessID As Long

GlblcntUsage As Long

ProccntUsage As Long

modBaseAddr As Byte

modBaseSize As Long

hModule As Long

szModule As String 256

szExePath As String 1024

End Type

Private Const WM_MOUSEMOVE = &H200

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Type OSVERSIONINFO

dwOSVersionInfoSize As Long

dwMajorVersion As Long

dwMinorVersion As Long

dwBuildNumber As Long

dwPlatformId As Long

szCSDVersion As String 128

OsName As String

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

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 bInheritHandle As Long, ByVal dwProcessId As Long) As Long

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

Private Declare Function UpdateWindow Lib "user32" Alias "UpdateWindow" (ByVal hwnd As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Sub KillExe(EXEName As String)

Dim my As PROCESSENTRY32

Dim hProcessHandle As Long

Dim success As Long

Dim l As Long

l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

If l Then

mydwSize = 1060

If (Process32First(l, my)) Then

Do

If UCase$(Right$(Left$(myszExeFile, InStr(1, myszExeFile, Chr$(0)) - 1), Len(EXEName))) = UCase$(EXEName) Then

hProcessHandle = OpenProcess(&H1F0FFF, True, myth32ProcessID)

If hProcessHandle <> 0 Then success = TerminateProcess(hProcessHandle, ByVal 0&)

If success = 1 Then CloseHandle (hProcessHandle)

End If

Loop Until (Process32Next(l, my) < 1)

End If

CloseHandle l

End If

End Sub

Private Function GetSysTrayWnd() As Long

Dim Result As Long

Dim Ver As OSVERSIONINFO

VerdwOSVersionInfoSize = 148

GetVersionEx Ver

Result = FindWindow("Shell_TrayWnd", vbNullString)

Result = FindWindowEx(Result, 0, "TrayNotifyWnd", vbNullString)

If VerdwMajorVersion = 5 And VerdwMinorVersion > 0 Then Result = FindWindowEx(Result, 0, "SysPager", vbNullString)

If VerdwMajorVersion = 5 Then Result = FindWindowEx(Result, 0, "ToolbarWindow32", vbNullString)

GetSysTrayWnd = Result

End Function

Private Sub RefreshTrayIcon()

Dim hwndTrayToolBar As Long

Dim X, Y As Long

Dim rTrayToolBar As RECT

Dim pos As Long

hwndTrayToolBar = GetSysTrayWnd

GetClientRect hwndTrayToolBar, rTrayToolBar

For X = 1 To rTrayToolBarRight - 1

For Y = 1 To rTrayToolBarBottom - 1

pos = (X And &HFFFF) + (Y And &HFFFF) &H10000

PostMessage hwndTrayToolBar, WM_MOUSEMOVE, 0, pos

Next Y

Next X

End Sub

Private Sub Command1_Click()

Dim hShellTray As Long

Dim a As String

a = "c:\windows\notepadexe"'以记事本为例

KillExe a

RefreshTrayIcon'刷新托盘图标

End Sub

1总是不小心打开其他应用的话可以直接关闭,或者点击手机设置一下就好了。

2

进入手机的设置--更多设置--应用程序--全部中选择重置应用偏好设置; 具体 *** 作步骤: (1)进入手机“设置” (2)选择“更多设置”

3

将软件卸载,然后进入应用商店中重新下载安装使用

以上就是关于VB能关闭其它应用程序吗全部的内容,包括:VB能关闭其它应用程序吗、手机显示用其他应用打开怎么办、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存