有一个模拟器。在这个模拟器中,我们必须经过一条走廊。走廊里有一扇门和一个谜题,解开谜题就能打开这扇门。一旦我们解决了这个难题,类的布尔属性(类似于isOpen)的值就会变为true
这条走廊需要穿越几次。走廊本身不会改变,但谜题每次都是随机的。
所以,我决定创建一个宏应用程序来解决这个难题,并等待,直到我解决它
并且由于模拟具有我需要的布尔变量,我想知道:我可以得到它,以便在宏中创建延迟,直到它为真?
这里的主要问题是两个程序没有以任何方式连接。
我还想指出,我有一种理解,即所有变量在编译后都会失去它们的名称,并且变量值随后会在内存中占据一个随机位置
同样,我也使用过像CheatEngine这样的程序,它是通过
的值来查找值的地址。但我可能只是不知道所有的细节,认为这是不可能的,即使在现实中有办法做到这一点。
因此,如果您能向我解释一下如何做到这一点,或者,如果不可能,解释一下原因,我将不胜感激。
同样,我也不介意收到这样的回复:"阅读这篇文章">
我理解你想在运行时检查一个对象实例的一个或多个属性,这可以通过使用所谓的反射来实现。
后者提供了允许您在运行时检查对象、获取其类型、读取其属性和调用其方法的功能。
使用反射你可以做
// retrieves the value of the property "NameOfProperty" for the instance of object myobj
bool myFlag = myobj.GetType().GetProperty("NameOfProperty").GetValue(myobj, null);