当前位置: 首页>>代码示例>>C#>>正文


C# Diagnostics.ProcessInfo类代码示例

本文整理汇总了C#中System.Diagnostics.ProcessInfo的典型用法代码示例。如果您正苦于以下问题:C# ProcessInfo类的具体用法?C# ProcessInfo怎么用?C# ProcessInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ProcessInfo类属于System.Diagnostics命名空间,在下文中一共展示了ProcessInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Enum

        public static ProcessInfo[] Enum()
        {
            List<ProcessInfo> Result = new List<ProcessInfo>();
            Process[] ProcList = Process.GetProcesses();

            for (int i = 0; i < ProcList.Length; i++)
            {
                Process Proc = ProcList[i];

                try
                {
                    ProcessInfo Info = new ProcessInfo();

                    Info.FileName = Proc.MainModule.FileName;
                    Info.Id = Proc.Id;
                    Info.Is64Bit = RemoteHooking.IsX64Process(Proc.Id);
                    Info.Identity = RemoteHooking.GetProcessIdentity(Proc.Id).Owner.ToString();

                    Result.Add(Info);
                }
                catch
                {
                }
            }

            return Result.ToArray();
        }
开发者ID:ZionOps,项目名称:b00ks-d0c,代码行数:27,代码来源:RHTest.cs

示例2: EnumProcesses

        public static ProcessInfo[] EnumProcesses()
        {
            var result = new List<ProcessInfo>();
            var procList = Process.GetProcesses();

            foreach (var proc in procList)
            {
                try
                {
                    var info = new ProcessInfo
                    {
                        FileName = proc.MainModule.FileName,
                        ID = proc.Id,
                        Is64Bit = RemoteHooking.IsX64Process(proc.Id),
                        User = RemoteHooking.GetProcessIdentity(proc.Id)
                                            .Name
                    };
                    result.Add(info);
                }
                catch
                {
                }
            }
            return result.ToArray();
        }
开发者ID:Icehunter,项目名称:ffxivapp-hooker,代码行数:25,代码来源:HookManager.cs

示例3: EnumProcesses

        public static ProcessInfo[] EnumProcesses()
        {
            List<ProcessInfo> result = new List<ProcessInfo>();
            Process[] procList = Process.GetProcesses();

            for (int i = 0; i < procList.Length; i++)
            {
                Process proc = procList[i];

                try
                {
                    ProcessInfo info = new ProcessInfo();

                    info.FileName = proc.MainModule.FileName;
                    info.Id = proc.Id;
                    info.Is64Bit = RemoteHooking.IsX64Process(proc.Id);
                    info.User = RemoteHooking.GetProcessIdentity(proc.Id).Name;

                    result.Add(info);
                }
                catch
                {
                }
            }

            return result.ToArray();
        }
开发者ID:spazzarama,项目名称:Afterglow,代码行数:27,代码来源:HookManager.cs

示例4: FileLocker

 static FileLocker()
 {
     Process currentProcess = Process.GetCurrentProcess();
     Int32 processId = currentProcess.Id;
     String processName = currentProcess.ProcessName;
     Int64 startTimeTicks = currentProcess.StartTime.Ticks;
     CurrentProcessInfo = new ProcessInfo(processId, processName, startTimeTicks);
 }
开发者ID:RavingRabbit,项目名称:Labs,代码行数:8,代码来源:FileLocker.cs

示例5: CreateProcessInfo

        // -----------------------------
        // ---- PAL layer ends here ----
        // -----------------------------

        private static ProcessInfo CreateProcessInfo(int pid)
        {
            // Negative PIDs aren't valid
            if (pid < 0)
            {
                throw new ArgumentOutOfRangeException("pid");
            }

            ProcessInfo procInfo = new ProcessInfo()
            {
                ProcessId = pid
            };

            // Try to get the task info. This can fail if the user permissions don't permit
            // this user context to query the specified process
            Interop.libproc.proc_taskallinfo? info = Interop.libproc.GetProcessInfoById(pid);
            if (info.HasValue)
            {
                // Set the values we have; all the other values don't have meaning or don't exist on OSX
                Interop.libproc.proc_taskallinfo temp = info.Value;
                unsafe { procInfo.ProcessName = Marshal.PtrToStringAnsi(new IntPtr(temp.pbsd.pbi_comm)); }
                procInfo.BasePriority = temp.pbsd.pbi_nice;
                procInfo.HandleCount = Interop.libproc.GetFileDescriptorCountForPid(pid);
                procInfo.VirtualBytes = (long)temp.ptinfo.pti_virtual_size;
                procInfo.WorkingSet = (long)temp.ptinfo.pti_resident_size;
            }

            // Get the sessionId for the given pid, getsid returns -1 on error
            int sessionId = Interop.libc.getsid(pid);
            if (sessionId != -1)
                procInfo.SessionId = sessionId;
            
            // Create a threadinfo for each thread in the process
            List<KeyValuePair<ulong, Interop.libproc.proc_threadinfo?>> lstThreads = Interop.libproc.GetAllThreadsInProcess(pid);
            foreach (KeyValuePair<ulong, Interop.libproc.proc_threadinfo?> t in lstThreads)
            {
                var ti = new ThreadInfo()
                {
                    _processId = pid,
                    _threadId = (int)t.Key, // The OS X thread ID is 64-bits, but we're forced to truncate due to the public API signature
                    _basePriority = 0,
                    _startAddress = IntPtr.Zero
                };

                // Fill in additional info if we were able to retrieve such data about the thread
                if (t.Value.HasValue)
                {
                    ti._currentPriority = t.Value.Value.pth_curpri;
                    ti._threadState = ConvertOsxThreadRunStateToThreadState((Interop.libproc.ThreadRunState)t.Value.Value.pth_run_state);
                    ti._threadWaitReason = ConvertOsxThreadFlagsToWaitReason((Interop.libproc.ThreadFlags)t.Value.Value.pth_flags);
                }

                procInfo._threadInfoList.Add(ti);
            }

            return procInfo;
        }
开发者ID:brianjsykes,项目名称:corefx,代码行数:61,代码来源:ProcessManager.OSX.cs

示例6: AddHookedProcess

 //private static List<Int32> ActivePIDList = new List<Int32>();
 public static ProcessInfo AddHookedProcess(Process process)
 {
     lock (ProcessList)
     {
         ProcessInfo pInfo = new ProcessInfo(process);
         ProcessList.Add(pInfo);
         HookedProcesses.Add(process.Id);
         return pInfo;
     }
 }
开发者ID:stani,项目名称:GScreensTool,代码行数:11,代码来源:HookManager.cs

示例7: Player

 public Player()
 {
     currentState = new LoginState(this);
     ProcessInfo = new ProcessInfo();
     ProcessInfo.Status = ProcessInfo.StatusCode.NotInitialized;
     Messager = new Messager();
     messageQueue = Messager.Queue;
     messagerThread = new Thread(
         new ThreadStart(Messager.Receive));
     messagerThread.Start();
 }
开发者ID:KendallSpackman,项目名称:Player,代码行数:11,代码来源:Player.cs

示例8: CreateProcess

        // CreateProcess wrapper
        public static bool CreateProcess(String ExeName, String
            CmdLine, ProcessInfo pi)
        {
            if (pi == null)
                                pi = new ProcessInfo();

                        byte[] si = new byte[128];

                        return CreateProcess(ExeName, CmdLine, IntPtr.Zero,
                            IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, si, pi) != 0;
        }
开发者ID:iamsamwood,项目名称:ENCODERS,代码行数:12,代码来源:Utility.cs

示例9: GetProcesses

        private void GetProcesses()
        {
            listBox1.Items.Clear();
            var processes = Process.GetProcesses();

            foreach (var process in processes)
            {
                var processInfo = new ProcessInfo(process.Id, process.ProcessName);
                listBox1.Items.Add(processInfo);
            }
        }
开发者ID:dhanzhang,项目名称:Windows-classic-samples,代码行数:11,代码来源:MyCustomWinformControl.cs

示例10: CreateProcessWithLogonW

 static extern bool CreateProcessWithLogonW(
     string principal,
     string authority,
     string password,
     LogonFlags logonFlags,
     string appName,
     string cmdLine,
     CreationFlags creationFlags,
     IntPtr environmentBlock,
     string currentDirectory,
     ref StartupInfo startupInfo,
     out ProcessInfo processInfo);
开发者ID:Reality9,项目名称:dcept,代码行数:12,代码来源:ht-agent.cs

示例11: CreateProcessInfo

        // -----------------------------
        // ---- PAL layer ends here ----
        // -----------------------------

        private unsafe static ProcessInfo CreateProcessInfo(int pid)
        {
            // Negative PIDs aren't valid
            if (pid < 0)
            {
                throw new ArgumentOutOfRangeException("pid");
            }

            ProcessInfo procInfo = new ProcessInfo();

            // Try to get the task info. This can fail if the user permissions don't permit
            // this user context to query the specified process
            Interop.libproc.proc_taskallinfo? info = Interop.libproc.GetProcessInfoById(pid);
            if (info.HasValue)
            {
                // We need to convert the byte pointer to an IntPtr 
                // that we can pass to the Marshal.PtrToStringAnsi call
                // but the nullable struct type makes it difficult to inline,
                // so make a temp variable to remove the nullable and get the pointer 
                Interop.libproc.proc_taskallinfo temp = info.Value;
                IntPtr ptrString = new IntPtr(temp.pbsd.pbi_comm);

                // Set the values we have; all the other values don't have meaning or don't exist on OSX
                procInfo.BasePriority = temp.ptinfo.pti_priority;
                procInfo.HandleCount = Interop.libproc.GetFileDescriptorCountForPid(pid);
                procInfo.ProcessId = pid;
                procInfo.ProcessName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptrString);
                procInfo.VirtualBytes = (long)temp.ptinfo.pti_virtual_size;
                procInfo.WorkingSet = (long)temp.ptinfo.pti_resident_size;
            }

            // Create a threadinfo for each thread in the process
            List<KeyValuePair<ulong, Interop.libproc.proc_threadinfo?>> lstThreads = Interop.libproc.GetAllThreadsInProcess(pid);
            foreach (KeyValuePair<ulong, Interop.libproc.proc_threadinfo?> t in lstThreads)
            {
                if (t.Value.HasValue)
                {
                    procInfo._threadInfoList.Add(new ThreadInfo()
                    {
                        _basePriority = 0,
                        _currentPriority = t.Value.Value.pth_curpri,
                        _processId = pid,
                        _startAddress = IntPtr.Zero, // We don't have this info
                        _threadId = Convert.ToInt32(t.Key),
                        _threadState = ConvertOsxThreadRunStateToThreadState((Interop.libproc.ThreadRunState)t.Value.Value.pth_run_state),
                        _threadWaitReason = ConvertOsxThreadFlagsToWaitReason((Interop.libproc.ThreadFlags)t.Value.Value.pth_flags)
                    });
                }
            }

            return procInfo;
        }
开发者ID:johnhhm,项目名称:corefx,代码行数:56,代码来源:ProcessManager.OSX.cs

示例12: Init

 public override void Init(string xmlInformation)
 {
     XmlDocument xmlDoc = new XmlDocument();
     List<ProcessInfo> list = new List<ProcessInfo>();
     xmlDoc.LoadXml(xmlInformation);
     foreach (XmlNode node in xmlDoc.ChildNodes[0].ChildNodes)
     {
         ProcessInfo pInfo = new ProcessInfo();
         pInfo.PID = int.Parse(node.Attributes["ID"].Value);
         pInfo.Name = node.Attributes["Name"].Value;
         pInfo.MemoryUsed = long.Parse(node.Attributes["Memory"].Value);
         list.Add(pInfo);
     }
     Processes = list.ToArray();
 }
开发者ID:macper,项目名称:MWRWebRemoter,代码行数:15,代码来源:RefreshProcessListState.cs

示例13: GetHookedProcess

 public static ProcessInfo GetHookedProcess(Process process)
 {
     lock (ProcessList)
     {
         ProcessInfo pInfo = new ProcessInfo(process);
         int index = ProcessList.IndexOf(pInfo);
         if (index > -1)
         {
             return ProcessList[index];
         }
         else
         {
             return null;
         }
     }
 }
开发者ID:stani,项目名称:GScreensTool,代码行数:16,代码来源:HookManager.cs

示例14: WaitUntilProcessReady

        public override IEnumerator<object> WaitUntilProcessReady(ProcessInfo process)
        {
            bool isReady = false;
            do {
                yield return Program.EvalPython<bool>(process, @"
            try:
              m = __import__('uix')
              g = getattr(__import__('__builtin__'), 'sm', None)
              return (m is not None) and (g is not None)
            except:
              return False").Bind(() => isReady);

                yield return new Sleep(1);
            } while (!isReady);

            Console.WriteLine("EVE started.");
        }
开发者ID:kg,项目名称:shootbluesscripts,代码行数:17,代码来源:EVE.cs

示例15: GetInformationXML

        protected override string GetInformationXML()
        {
            StringBuilder strBld = new StringBuilder();
            strBld.Append("<ProcessStateInfo>");
            if (activeProcesses != null)
            {
                if (activeProcesses.Length > 0)
                {

                    foreach (Process p in activeProcesses)
                    {
                        ProcessInfo pInfo = new ProcessInfo();
                        pInfo.Name = p.ProcessName;
                        pInfo.MemoryUsed = p.PagedMemorySize64;
                        pInfo.PID = p.Id;
                        strBld.Append(pInfo.ToXML());
                    }
                }
            }
            strBld.Append("</ProcessStateInfo>");
            return strBld.ToString();
        }
开发者ID:macper,项目名称:MWRWebRemoter,代码行数:22,代码来源:RefreshProcessListState.cs


注:本文中的System.Diagnostics.ProcessInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。