c#处理所有桌面应用程序和模拟按钮点击

本文关键字:模拟 按钮 应用程序 处理 桌面 | 更新日期: 2023-09-27 17:51:22

是否可以打印在我的计算机上运行的所有应用程序?我想在那之后处理其中一个,找到按钮并点击它。我想模拟一个点击按钮在一个特定的窗口。首先,我想打印所有正在运行的应用程序,并对它们进行处理。谁能给我一个密码?

c#处理所有桌面应用程序和模拟按钮点击

Use System.Management;
//Return all processes
public static string ListAllProcesses()
{
    StringBuilder sbAllProcess = new StringBuilder();
    // list out all processes and write them into a stringbuilder
    ManagementClass MgmtClass = new ManagementClass("Win32_Process");
    foreach (ManagementObject mobject in MgmtClass.GetInstances())
    {
        sbAllProcess .Append("Name:'t" + mobject ["Name"] + Environment.NewLine);
        sbAllProcess .Append("ID:'t" + mobject ["ProcessId"] + Environment.NewLine);
        sbAllProcess .Append(Environment.NewLine);
    }
    return sbAllProcess .ToString();
}
//Return all applications
public static string ListAllApplications()
{
    StringBuilder sbAllApplication = new StringBuilder();
    foreach (Process runningProcess in Process.GetProcesses("."))
    {
        try
        {
            if (runningProcess .MainWindowTitle.Length > 0)
            {
                sbAllApplication .Append("Window Title:'t" + runningProcess .MainWindowTitle.ToString()+ Environment.NewLine);
                sbAllApplication .Append("Process Name:'t" + runningProcess .ProcessName.ToString() + Environment.NewLine);
                sbAllApplication .Append("Window Handle:'t" + runningProcess .MainWindowHandle.ToString() + Environment.NewLine);
                sbAllApplication .Append("Memory Allocation:'t" + runningProcess .PrivateMemorySize64.ToString() + Environment.NewLine);
                sbAllApplication .Append(Environment.NewLine);
            }
        }
        catch { }
    }
    return sbAllApplication .ToString();
}