无鼠标拖放 - 更改事件触发方式(通过编程方式触发拖放事件)

5

如何在程序中告诉应用程序放下一个对象/提高放下事件 (我不使用鼠标)?

我目前正在为MSKinect开发,我想实现一个非常接近本地拖放的拖放功能 (请参见msdn文档)。

我已经使用画布和由Kinect指针引发的事件实现了拖放,以“拖动”事物。但我更感兴趣的是使用拖放传输数据。

我知道通常在释放鼠标按钮时启动放下事件,我想在发生特定手势时释放可拖动元素。

附加信息:我正在实现一个基于LesterLobo的工作的管理器。

1个回答

0

您可以使用Win32 API的SendInput函数全局模拟鼠标移动和点击。您可以在这里找到如何使用C#调用该函数的说明。

SendInput函数是最接近实际使用鼠标的函数。不幸的是,它不太方便使用。您需要模拟按下左键、移动鼠标和释放左键。

请注意,此方法旨在将内容拖动到应用程序中,以及在应用程序内部进行拖动。如果您只想在应用程序内部拖动内容,则很可能有更简单的解决方案。


我认为使用SendInput绕过鼠标可能会起作用,但我宁愿只在代码后台引发事件(就像我们可以引发Click事件一样)。我不想使用鼠标(或其输入),因为我有两个Kinect用户的两个不同用户(即4个光标)。我不希望在此功能上出现任何并发:可能同时进行4个拖放操作。 - astreal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接