【问题标题】:Find a process by windowclass name and window name but what if wname was changed通过 windowclass 名称和窗口名称查找进程,但如果 wname 更改了怎么办
【发布时间】:2013-03-14 08:38:51
【问题描述】:

我有一个通过窗口类名称和窗口名称查找进程的函数,但有时用户正在更改窗口名称,而我的函数什么也不做。

还有其他方法可以找到进程吗?

【问题讨论】:

    标签: c# process system.diagnostics


    【解决方案1】:

    您可以使用System.Diagnostics.Process类查找进程,然后您可以使用WindowName、Handle、Module等查找。

    var process = System.Diagnostics.Process.GetProcessesByName("MyProcess").FirstOrDefault();
    
    var process = System.Diagnostics.Process.GetProcesses().FirstOrDefault(p => p.Modules[0].ModuleName == "MyModule");
    
    var process = Process.GetProcesses().FirstOrDefault(p => p.MainWindowTitle == "NotePad");
    if (process != null)
    {
        SetWindowPos(process.MainWindowHandle);
    }
    

    等等

    【讨论】:

    • 每次执行时都会更改进程名称,您的代码将无济于事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多