2008-08-28 7 views
0

我想扩展一些现有的应用程序的拖放行为,并且我想知道是否有任何方式通过监视应用程序的消息循环并注入我自己来拖放拖放支持或更改拖放行为消息。有什么方法可以覆盖Windows中现有应用程序的拖放操作或复制/粘贴操作?

它也可以监视执行粘贴操作的时间,基本上是为了在控件仅支持粘贴文本并粘贴图像时创建自定义行为。

我想Detours可能是我最好的选择,但是一个问题是,我将不得不为每个我想要扩展的应用程序编写自定义代码。如果只有Windows的设计考虑到了可扩展性!

另一个说明,有没有支持这种性质的可扩展性的任何操作系统?

回答

0

如果你愿意在加载应用程序时进行内存中的diddling,那么你可能会想到这一点。

但是,如果您正在寻找一种简单的方法,只需将代码插入到另一个窗口的消息泵中,您就不会找到它。完成这样的工作所需的技能是非常强大的(除非有人把所有这些都包含在我没有意识到的应用程序/库中,但是我怀疑它)。这就像剪贴板挂钩,写作大小:它皱起了眉头,有大量的陷阱,如果你不知道你在做什么,你很可能会在你的系统中引入显着的不稳定性。

0

那么,从应用程序设计师的角度考虑这一点。如果你编写了一个应用程序,你是否希望用户能够向你的应用程序注入东西(更重要的是,你是否想要这样做,然后指责你的无知用户的支持/收入头痛)?每个应用程序的拖放基础结构都是专门为应用程序编写的,而不是让您将任何想要的东西放到它上面(当您将某些东西拖动到无法处理它的应用程序时,可能会导致崩溃和各种其他恶意行为) 。这样的东西很难做到这一点。

可能做的,但它有很多工作:你需要获得你想要放置东西的东西的窗口句柄,然后用你自己的东西替换那个窗口的消息处理器。当然,这是充满危险的,因为您必须自己复制该窗口的所有现有功能,否则可能会导致应用程序无法正常工作。

0

这真的太糟糕了。我想有时候应用程序还不存在的原因有时候。基本上我想要做的是简化发送图像链接到使用各种应用程序(主要是网页浏览器文本形式,但也可以随时在终端窗口中编辑)的人的过程,方法是将图像粘贴到文本上下文,在后台上传图片,以及通过一个动作将网址粘贴到图片上传的位置。

编辑:我想这个更简单的解决方案是创建一个新的键盘组合,它被我的应用程序挂接到任何其他应用程序之前。特别没有理由需要将其与复制/粘贴功能绑定。

相关问题