如何在C#程序上获得Python鼠标坐标

如何在C#程序上获得Python鼠标坐标,c#,python,C#,Python,我正在尝试从C#中的Python事件中获取鼠标坐标。 我从C#调用我的python脚本,它打开一个python窗口,我在python窗口上单击我的缩略图,需要从缩略图中获取鼠标位置,并在C#程序中使用它。 这个解决方案只有在我关闭Python窗口后才起作用。我现在得到了所有的值……但每次在Python窗口中单击缩略图后,我都需要得到这些值。 我尝试了很多解决方案,但我认为StreamReader只能在Python窗口关闭后读取 以下是我的python代码: class myClass(objec

我正在尝试从C#中的Python事件中获取鼠标坐标。 我从C#调用我的python脚本,它打开一个python窗口,我在python窗口上单击我的缩略图,需要从缩略图中获取鼠标位置,并在C#程序中使用它。 这个解决方案只有在我关闭Python窗口后才起作用。我现在得到了所有的值……但每次在Python窗口中单击缩略图后,我都需要得到这些值。 我尝试了很多解决方案,但我认为StreamReader只能在Python窗口关闭后读取

以下是我的python代码:

class myClass(object):
    def mouse_click(self, event):
        xs, ys = event.xdata, event.ydata
        print('%s, %s' % (xs, ys))
这是我的C代码:


我认为这可能是因为Python正在缓冲输出—将CRLF添加到输出可能会在每次打印时刷新缓冲区,或者Python可能允许您在每次打印后手动刷新缓冲区:请参阅
private void btOK_Click(object sender, EventArgs e)
    {
        start = new ProcessStartInfo();
        start.FileName = "C:\\Python27\\python.exe";
        start.Arguments = "C:\\myfolder\\myfile.py";
        start.UseShellExecute = false;
        start.RedirectStandardOutput = true;

        using (Process process = Process.Start(start))
        {                
            using (StreamReader reader = process.StandardOutput)
            {
                string result = reader.ReadToEnd();
                Console.Write(result);
            }
        }
    }