问题描述
PrivateDeclareFunctionCreateToolhelp32SnapshotLib"KERNEL32.DLL"Alias"CreateToolhelp32Snapshot"(ByValdwFlagsAsInteger,ByRefth32ProcessIDAsInteger)AsIntegerPrivateDeclareFunctionProcess32FirstLib"KERNEL32.DLL"Alias"Process32First"(ByRefhSnapshotAsInteger,ByReflppeAsLPPROCESSENTRY32)AsIntegerPrivateDeclareFunctionProcess32NextLib"KERNEL32.DLL"Alias"Process32Next"(ByRefhSnapshotAsInteger,ByReflppeAsLPPROCESSENTRY32)AsIntegerPrivateDeclareFunctionCloseHandleLib"kernel32"Alias"CloseHandle"(ByRefhObjectAsLong)AsIntegerPrivateStructureLPPROCESSENTRY32DimdwSizeAsIntegerDimcntUsageAsIntegerDimth32ProcessIDAsIntegerDimth32DefaultHeapIDAsIntegerDimth32ModuleIDAsIntegerDimcntThreadsAsIntegerDimth32ParentProcessIDAsIntegerDimpcPriClassBaseAsIntegerDimdwFlagsAsIntegerDimszExeFileAsStringEndStructurePrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimhSnapshotAsIntegerDimLPPROCESSENTRY32AsLPPROCESSENTRY32hSnapshot=CreateToolhelp32Snapshot(2,0)Debug.Print(hSnapshot)IfhSnapshot<>-1ThenLPPROCESSENTRY32.szExeFile=""LPPROCESSENTRY32.dwSize=296IfProcess32First(hSnapshot,LPPROCESSENTRY32)Then'这里错误:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。DoIfLPPROCESSENTRY32.szExeFile="QQ.exe"ThenMsgBox("找到了")ExitSubEndIfLoopUntilProcess32Next(hSnapshot,LPPROCESSENTRY32)EndIfCloseHandle(hSnapshot)EndIfEndSubAPI声明里面我改Byref和Byval都没用,都报错,我系统是WIN7旗舰版。求高手帮忙看看谢谢了
解决方案
解决方案二:
怎么都没有人帮忙啊