我在C#中的应用程序存在一个奇怪的问题。
我有一个函数调用setYellow()
,而在另一个应用程序中,我有一个5种颜色的控件。
颜色的坐标为:红色20,黄色40,绿色60,蓝色80,紫色100(在该控件中)。
所以我使用SendMessage点击颜色,这样:
PostMessage(colori.hWnd, WM_LBUTTONDOWN, 1, MakeLParam(40, 9));
PostMessage(colori.hWnd, WM_LBUTTONUP, 1, MakeLParam(40, 9));
我现在是用户通过带按钮的控制台发送的命令列表,其中一个命令调用setYellow()
函数。
现在,如果我创建一个调用setYellow()
的按钮,它可以正常工作!
如果我从列表中读取命令,则会调用setYellow()
并单击右侧坐标,但应用程序会单击红色按钮...
如果我看到Spy ++,它会发送正确的坐标,如果我看到按钮setYellow
和命令列表setYellow
之间的差异,则没有差别!
但等等,魔法......如果我放了一个:
MessageBox.Show("BYE");
在PostMessage之前的,它也可以从命令列表中运行!!!
我尝试使用Thread.Sleep(3000);
减慢我的应用程序速度,但需要3秒钟,然后从命令列表中单击错误的按钮,从表单上的按钮点击右键...
我尝试了控制刷新和Application.DoEvents
,但没有......
我该怎么办?