我正在加载第三方DLL,它从HKCU读取一些自己的设置,我想通过改变它读取的几个值来改变它的行为。
假设它只在第一次加载时读取,我可以将更改的值写入注册表,然后加载DLL然后再次更改值。但是在短时间内,这也会影响可能加载相同DLL的任何其他进程。
有没有办法改变它在我自己的过程中读取的值?
答案 0 :(得分:2)
有没有办法改变它在我自己的过程中读取的值?
使用DLL调用的Win32 API函数绕道从注册表中读取。有许多绕行库可以促进这一点。
答案 1 :(得分:1)
你可以使用firefox的windowsdllinteceptor,这是一个仅用于api钩子的dll拦截器。
更改vml标记值的示例代码:
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTitle:@"X" forState:UIControlStateNormal];
[button sizeToFit];
button.center = CGPointMake(self.img1.frame.origin.x+self.img1.frame.size.width,self.img1.bounds.origin.y);