此方法仅返回进程文件名:
public static string GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return proc.MainModule.FileName.ToString();
}
Run Code Online (Sandbox Code Playgroud)
但是我想要返回进程名称:
proc.ProcessName;
Run Code Online (Sandbox Code Playgroud)
我相信你有四种选择(按优先顺序)
proc.MainModule直接返回并从调用者中提取必要的信息.public static ProcessModule GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return proc.MainModule;
}
public class ProcessInformation
{
public string FileName;
public string ProcessName;
}
public static ProcessInformation GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
var pi = new ProcessInformation
{
proc.MainModule.FileName,
proc.MainModule.ProcessName
}
return pi;
}
Tuple<string, string>public static Tuple<string, string> GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return return Tuple.Create(proc.MainModule.FileName,proc.MainModule.ProcessName);
}
out在你的方法上创建2个参数(我从未见过实现过两个参数,我不鼓励这个,因为它确实有气味,但它是C#提供的一个选项)string GetProcessInfo(IntPtr hwnd, out fileName, out processName)
您可以创建并返回描述结果的对象:
public class ProcessInfo
{
public string ProcessName { get; set; }
public string FileName { get; set; }
}
public ProcessInfo GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return new ProcessInfo
{
FileName = proc.MainModule.FileName.ToString(),
ProcessName = proc.ProcessName
}
}
Run Code Online (Sandbox Code Playgroud)
或者(我个人更喜欢这个),a Tuple<string, string>:
public Tuple<string, string> GetProcessInfo(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return Tuple.Create(proc.MainModule.FileName.ToString(),
proc.ProcessName);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |