【问题标题】:How to make a program wait for the process to open before functioning?如何让程序在运行之前等待进程打开?
【发布时间】:2015-04-18 18:50:12
【问题描述】:

让我在这里再解释一下: 我要去C++中的WriteProcessMemory,但是我希望程序等到特定进程打开后再写入进程内存。我怎么做? 例如: 假设我想写一个名为joel.exe 的进程。 我想将地址0x01234567 上的值更改为4。 我想弄清楚的是如何让它等待进程joel.exe启动,然后再将值更改为4

我对@9​​87654328@有一个简单的了解,目前还在初学者区。 谢谢:)

【问题讨论】:

  • 嗨玩家,欢迎来到 StackOverflow。恐怕您的问题并没有提供太多信息。你已经尝试过什么?在不了解上下文的情况下,可悲的是社区无法帮助您。在我看来,你会把它放在一个线程中,然后等待它完成,但这超出了初学者的话题。请发布您迄今为止尝试过的内容以及任何错误消息,或者如果可以的话,请详细说明您打算使用什么等。希望对您有所帮助。
  • 我什么都没试过,因为我真的不知道怎么做,我在 YouTube 上找到了 WriteProcessMemory。我发现这个地方很有帮助,所以我试着问这个问题。
  • 相当不错的玩家,但我的问题是你为什么要写它?您打算在什么情况下使用它?这将帮助我们帮助您找到答案。
  • 刚刚看到你编辑过 ;-)
  • CreateProcess 在进程创建之前不会返回。你所说的 "open" 是什么意思,充其量是可疑的。

标签: c++ winapi


【解决方案1】:

在我的头上,如果你正在等待的进程有一个窗口,并且你知道窗口标题,你可以使用FindWindow()找到窗口HANDLE,然后使用GetWindowThreadProcessId()获取进程ID ,然后最后使用OpenProcess() 打开该进程。如果您在FindWindow() 上定期运行,您应该实现您想要做的。

【讨论】:

    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    相关资源
    最近更新 更多