terminate the process(VB怎么用TerminateProcess关闭进程)

:暂无数据 2026-07-22 13:10:02 :0

terminate the process(VB怎么用TerminateProcess关闭进程)

大家好,terminate the process相信很多的网友都不是很明白,包括VB怎么用TerminateProcess关闭进程也是一样,不过没有关系,接下来就来为大家分享关于terminate the process和VB怎么用TerminateProcess关闭进程的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

VB怎么用TerminateProcess关闭进程

Private Declare Function FindWindow Lib “user32“ Alias “FindWindowA“ (ByVal lpclassname As String, ByVal lpwindowname As String) As Long ’查找窗口句柄 Private Sub Command1_Click() Dim a As Long a = OpenProcess(&H1F0FFF, False, 进程ID) TerminateProcess(a, 0) CloseHandle aEnd Sub补充: 代码有点多,弄得有点乱了知道PID的话,查找窗口句柄那个可以去了 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 ’ 打开进程ID Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF ’最大权限打开进程 Private Declare Function GetWindowThreadProcessId Lib “user32“ (ByVal hwnd As Long, lpdwProcessId As Long) As Long ’获取PID Private Declare Function TerminateProcess Lib “kernel32“ (ByVal hProcess As Long, ByVal uExitCode As Long) As Long ’结束进程ID Private Sub Command1_Click() Dim a As Long, b As Long, c As Long a = FindWindow(vbNullString, “abc.exe“) GetWindowThreadProcessId a, b c = OpenProcess(&H1F0FFF, False, b) TerminateProcess c, 0 CloseHandle cEnd Sub重新写了个,跟据你的意思来的,我的自己简化了,省了好多代码,你看不明白。 补充: 思路是这样的,先找窗口取得句柄(findwindow),然后通过句柄取得PID(GetWindowThreadProcessId),然后通过PID打开进程(OpenProcess),然后结束进程(TerminateProcess c),最后关闭进程(CloseHandle)。只要学懂这几个API就好理解了。 追问: 上面那段放在标准模块还是类模块, Private Sub Command1_Click() Dim a As Long, b As Long, c As Long a = FindWindow(vbNullString, “abc.exe“) If a 《》 0 Then GetWindowThreadProcessId a, b c = OpenProcess(&H1F0FFF, False, b) CloseHandle cElseMsgBox “程序未打开!“, 16, “提示“End IfEnd Sub这样就不会错了,TerminateProcess本身不是很好用,应该不能结束系统进程吧,不然也会出错的。这个API本身功能不高。

TerminateProcess使用方法

在win7上,VS2010开发环境中,写一个守护进程的程序,程序内容:发现目标进程挂起后,将其kill,然后重启。可是,遇到了一个问题,就是在使用TerminateProcess进行kill目标进程时,kill失败,利用GetLastError()获取错误代码为5,“5”表示拒绝访问。

有2中解决方法:
方法1:获取管理员权限。
在应用程序的Manifest禁用UAC Virtualization,取消其对数据写操作的重定向。具体做法:项目--》***属性--》连接器--》清单文件,我们设置启用UAC(Enable User Account Control),并且在UAC Execution Level中设置请求管理员权限。这样,应用程序在启动的时候,就会向用户请求管理员权限,当应用程序获得管理员执行权限后,当然可以向任意目录写入数据,UAC Virtualization也就不会起作用了。

方法2:在OpenProcess的时候权限设置的不对。
原因是OpenProcess是设置的权限不够,应该加上PROCESS_TERMINATE权限,具体可参考MSDN中的OpenProcess函数的说明。
将参数DWORDexitCode 设置成PROCESS_ALL权限即可使用。
TerminateProcess结束进程的具体代码如下:
--------------------------------------------------------------------------
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,processID);
TerminateProcess(hProcess,uExitCode);
--------------------------------------------------------------------------

VB怎么用TerminateProcess关闭进程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于VB怎么用TerminateProcess关闭进程、VB怎么用TerminateProcess关闭进程的信息别忘了在本站进行查找哦。

terminate the process(VB怎么用TerminateProcess关闭进程)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表