【问题标题】:Receive a message FROM another process从另一个进程接收消息
【发布时间】:2009-08-21 19:19:15
【问题描述】:

我一直在自学如何通过 Window 的 API 使用消息,并且实际上在学习它们方面做得很好。问题是,我不知道如何从另一个应用程序接收消息以启动我的代码。

基本上,我想要做的是允许其他使用商业应用程序的人单击保存按钮(在商业应用程序上),并让我的应用程序停止保存消息,提示用户,然后取消保存到允许他们继续,或允许保存(我现在通过消息知道如何操作)。

我只需要知道如何捕捉消息并阻止它。如果有人可以向我指出 API 调用、函数或可能有帮助的文档,请这样做。

【问题讨论】:

  • 如果您能再这样做,我会感到惊讶。我认为围绕 Windows 2000 进行的进程间安全性更改可以防止与其他进程的消息混淆。
  • 我不完全确定,但我不这么认为。使用 Winspector 之类的程序,很容易捕获消息......而且我确信我已经看到了阻止它们的程序。

标签: c# winapi interop message


【解决方案1】:

查看Detours by Microsoft Research。这是可能的,但并不简单。此外,请查看客户端游戏作弊的执行方式。我不会在这里链接它们中的任何一个,但它们就在那里。这基本上就是您想要做的。

【讨论】:

  • 感谢您的帮助... Detours 似乎可以很好地满足我的需要,尽管我是那种喜欢重新发明轮子以进行学习的类型。关于如何在没有第三方编程的情况下做同样的事情的任何想法?这是我暂时感兴趣的少数事情之一,我很想了解更多。
  • 下载时它会附带文档和源代码,这样您就可以准确地看到他们在做什么。网站上有一个出版物(查看底部的 PDF 链接),涉及概念级别的内容。
【解决方案2】:

我认为您需要像调试器一样将自己的应用程序附加到正在运行的进程中...除非商业应用程序具有插入其架构的自定义方法来执行此操作。

下一个问题是……你想沿着这条路继续前进吗?

【讨论】:

猜你喜欢
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多