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