从另一个进程调用方法

时间:2016-02-03 14:17:35

标签: c# button methods process gettype

我有一份工作申请。现在我尝试编程自动点击按钮的功能。要做到这一点,我需要进去。

我可以使用反编译器轻松查看源代码,因此我知道所有类名,方法名等...

我一直在研究Types和Type.GetMethod()方法。唯一的问题是我尝试使用应用程序的过程。我捕获了正确的应用程序(Process.GetProcessByName(" WorkProcess")),我可以捕获' Type'但我不知道如何到达正确的班级,并调用正确的方法。

我会给你一个反编译器中显示的布局:

WorkApp
> WorkApp.Exe
--> References
--> <Default namespace>
--> WORKAPP
----> frmsomething (Form)
------> _btnsync : Button
------> btnsync : Button

关于如何做到这一点的任何想法?我搜索谷歌,但无法找到答案......

谢谢 安东尼

PS:我无法从工作中访问该应用的源代码。

PPS:这是我的代码:

    Process WA = null;

    private void Initialize()
    {
        Process[] pa = Process.GetProcesses();

        foreach (Process p in pa)
        {
            if (p.ProcessName.Contains("WorkApp"))
            {
                WA = p;
                break;
            }
        }

        if (WA == null)
        {
            Console.WriteLine("App was not found...");
            stop = true;
        }
        else
        {
            Type t = WA.GetType();
            t.GetType();
            // This is the place I got stuck
        }
    }

1 个答案:

答案 0 :(得分:-2)

如果您尝试从外部世界调用应用程序中的方法,一种方法是在该应用程序中创建远程线程,并使用该应用程序内部的该DLL,使用Reflection进行工作。 我这样做了一个应用程序,它工作。 如果你想要细节,请评论我的答案。