我会尽我所能解释我的问题。所以,我用C/C++编写的应用程序(客户端应用程序中的语言无关紧要),它从DLL导入一个函数,例如uint32_t * GetMemoryPointer()。然后它在序列写入该存储器指针这样的:观看从应用程序接收到的指定内存指针的写入
uint32_t* ptr = (uint32_t*)GetMemoryPointer();
*ptr = 3;
*ptr = 4;
*ptr = 1050;
它这样做是序列中,而不将该值改变为DLL的任何信息。是否有可能在DLL中观看这个值?我试图做一个线程和循环查找更改,但它不可靠。有更好的解决方案吗?我对这样做感兴趣:应用程序写入,DLL发现该值已更改,HOLDS应用程序执行然后解释此值,然后允许应用程序继续执行。另一种不需要申请的方式可能会推动堆叠的新价值,但我需要了解每一个变化。我感兴趣的平台是Windows。语言无所谓可能是C或C++。是否有可能实现这一目标?这对我来说非常重要,而且我没有想法。我不想要代码,但我希望被告知是否有可能以及需要采用哪种方式。提前致谢。
imho,这是一个XY问题。 http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem你应该解释你想达到什么。 – manuell 2014-12-27 15:17:14
我解释了我想实现的目标,我想实现对DLL中映射的内存小区域(例如4B变量)的监视,并在发生应用程序端更改时得到通知。就这样。 – 2014-12-27 16:08:19
你没有解释为什么你想监视一个小区域的内存。您无法控制客户端应用程序? – manuell 2014-12-27 16:17:43