- PrivateDeclareFunctionCreateToolhelp32SnapshotLib"kernel32"(ByValdwFlagsAsLong,ByValth32ProcessIDAsLong)AsLong
- PrivateDeclareFunctionProcess32FirstLib"kernel32"(ByValhSnapshotAsLong,lppeAsPROCESSENTRY32)AsLong
- PrivateDeclareFunctionProcess32NextLib"kernel32"(ByValhSnapshotAsLong,lppeAsPROCESSENTRY32)AsLong
- PrivateDeclareFunctionCloseHandleLib"kernel32"(ByValhObjectAsLong)AsLong
- PrivateDeclareFunctionOpenProcessLib"kernel32"(ByValdwDesiredAccessAsLong,_
- ByValblnheritHandleAsLong,ByValdwAppProcessIdAsLong)AsLong
- PrivateDeclareFunctionTerminateProcessLib"kernel32"(ByValApphProcessAsLong,_
- ByValuExitCodeAsLong)AsLong
- PrivateTypePROCESSENTRY32
- dwSizeAsLong
- cntUsageAsLong
- th32ProcessIDAsLong
- th32DefaultHeapIDAsLong
- th32ModuleIDAsLong
- cntThreadsAsLong
- th32ParentProcessIDAsLong
- pcPriClassBaseAsLong
- dwFlagsAsLong
- szExeFileAsString*1024
- EndType
- ConstTH32CS_SNAPHEAPLIST=
- ConstTH32CS_SNAPPROCESS=
- ConstTH32CS_SNAPTHREAD=
- ConstTH32CS_SNAPMODULE=
- ConstTH32CS_SNAPALL=(TH32CS_SNAPHEAPLISTOrTH32CS_SNAPPROCESSOrTH32CS_SNAPTHREADOrTH32CS_SNAPMODULE)
- ConstTH32CS_INHERIT=
- PrivateSubCommand1_Click()
- DimmyAsPROCESSENTRY32
- DimlAsLong
- Diml1AsLong
- DimFileNameAsString*9
- DimmProcIDAsLong
- l=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)
- IflThen
- my.dwSize=1060
- If(Process32First(l,my))Then
- Do
- FileName=my.szExeFile
- IfUCase(FileName)="EXCEL.EXE"Then
- mProcID=OpenProcess(1&,-1&,my.th32ProcessID)
- TerminateProcessmProcID,0&
- Debug.Print"结束了"&FileName
- DoEvents
- EndIf
- LoopUntil(Process32Next(l,my)<1)
- EndIf
- l1=CloseHandle(l)
- EndIf
- EndSub
用VB结束所有Excel的进程,用VB开发Exxcel的应用时,如果出现意外退出,Excel进程会驻留,以后再调用Excel时不能正常使用,所以有时有必要将所有Excel全部结束 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|