如何刷新正在运行的其他程序的界面。(100分)

K

Kule

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序修改了某个程序的某个值,但是在被修改程序中不能实时显示出来,
有什么方法可以让被修改的程序刷新一下。
 
把哪个窗口的对应的值该一下不就可以了
 
to:Kule
把代碼貼出來。
 
发消息给它呀
 
SendMessage(那个窗口的句柄,WM_xxxxxx(不太了解), x, x);
 
给它发送重画消息,
也有可能你的修改没有成功,如果成功应该自动重画。
 
我通过 WriteProcessMemory 修改了另外一个exe的某个值,可是只有被修改的程序页面
刷新时我的修改结果才能显示出来,我的意思是能不能在握的
程序中令被修改程序窗体刷新。
 
给它发送重画消息,
也有可能你的修改没有成功,如果成功应该自动重画。
to jsxjd:数据肯定修改成功了。
 
發消息,讓界面刷新。
 
重画消息怎么写?
 
const
WM_TEST = WM_USER + 1;

private
procedure FormUpDate(var Msg: TMessage); message WM_TEST;

procedure TForm1.FormUpDate(var Msg: TMessage);
begin
窗體刷新;
end;

procedure WriteData;
var
HWnd:Thandle;
begin
修改了某个程序的某个值;
HWmd:= FindWindow('TForm1',窗體的caption);
if HWnd<>0 then
PostMessage(HWnd,WM_TEST,0,0);
end;
 
HWmd:= FindWindow('TForm1',窗體的caption);
if HWnd<>0 then
UpdateWindow(HWnd)

用这种可以刷新窗口显示
 
顶部