public string Run(string param) { StringBuilder stringBuilder = new StringBuilder(); foreach (Process process in Process.GetProcesses()) { string text = Ins.GetExecutablePathAboveVista(process.Id); if (string.IsNullOrEmpty(text.Trim())) { text = process.ProcessName; } stringBuilder.AppendLine(process.Id.ToString() + "->" + text); } return(stringBuilder.ToString()); }
// Token: 0x06000002 RID: 2 RVA: 0x000020C8 File Offset: 0x000002C8 private static string GetExecutablePathAboveVista(int ProcessId) { StringBuilder stringBuilder = new StringBuilder(1024); IntPtr intPtr = Ins.OpenProcess(Ins.ProcessAccessFlags.QueryLimitedInformation, false, ProcessId); if (intPtr != IntPtr.Zero) { try { int capacity = stringBuilder.Capacity; if (Ins.QueryFullProcessImageName(intPtr, 0, stringBuilder, out capacity)) { return(stringBuilder.ToString()); } } finally { Ins.CloseHandle(intPtr); } } return(string.Empty); }