@@ -83,6 +83,14 @@ int CProcessTable::ParseTableEntry(CString& s, char& mask, int& select, std::sha
8383 break ;
8484 case ProcessColumn::Eprocess:
8585 s.Format (L" 0x%p" , info->EProcess );
86+ break ;
87+ case ProcessColumn::HasVEH:
88+ {
89+ auto hProcess = DriverHelper::OpenProcess (info->Id , PROCESS_VM_READ | PROCESS_QUERY_INFORMATION);
90+ s.Format (L" %s" , px.HasVEH (hProcess) ? L" Yes" : L" No" );
91+ ::CloseHandle (hProcess);
92+ }
93+
8694 break ;
8795 default :
8896 break ;
@@ -275,7 +283,7 @@ LRESULT CProcessTable::OnProcessKill(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*
275283 auto & p = m_Table.data .info [selected];
276284
277285 CString text;
278- text.Format (L" 杀死进程: %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
286+ text.Format (L" Kill Process£º %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
279287 if (AtlMessageBox (*this , (PCWSTR)text, IDS_TITLE, MB_ICONWARNING | MB_OKCANCEL | MB_DEFBUTTON2) == IDCANCEL)
280288 return 0 ;
281289
@@ -294,7 +302,7 @@ LRESULT CProcessTable::OnProcessResume(WORD /*wNotifyCode*/, WORD /*wID*/, HWND
294302 auto & p = m_Table.data .info [selected];
295303
296304 CString text;
297- text.Format (L" 恢复进程 : %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
305+ text.Format (L" Resume Process : %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
298306 if (AtlMessageBox (*this , (PCWSTR)text, IDS_TITLE, MB_ICONWARNING | MB_OKCANCEL | MB_DEFBUTTON2) == IDCANCEL)
299307 return 0 ;
300308
@@ -323,7 +331,7 @@ LRESULT CProcessTable::OnProcessSuspend(WORD /*wNotifyCode*/, WORD /*wID*/, HWND
323331 auto & p = m_Table.data .info [selected];
324332
325333 CString text;
326- text.Format (L" 挂起进程 : %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
334+ text.Format (L" Suspend Process : %u (%ws)?" , p->Id , p->GetImageName ().c_str ());
327335 if (AtlMessageBox (*this , (PCWSTR)text, IDS_TITLE, MB_ICONWARNING | MB_OKCANCEL | MB_DEFBUTTON2) == IDCANCEL)
328336 return 0 ;
329337
0 commit comments