怎么才能修改被调用的exe程序 ( 积分: 100 )

  • 主题发起人 主题发起人 eigo
  • 开始时间 开始时间
E

eigo

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序需要调用一个exe程序。但是我想让该exe程序的一个按钮失效。怎么才能实现?
我尝试反编译该exe未果。
 
我的程序需要调用一个exe程序。但是我想让该exe程序的一个按钮失效。怎么才能实现?
我尝试反编译该exe未果。
 
消息 sendmessage
 
采用软件汉化即可
 
给你个例子,
{Disable the start button}
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
0,
'Button',
nil),
false);
{Enable the start button}
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
0,
'Button',
nil),
true);
 
还是没搞出来,失败!
高手给写个例子吧:
主窗体myForm中,按按钮button1,调用des.exe的运算器(窗体caption为'运算器'),不想显示des.exe中的'解密'按钮。
 
把参数改一下不就行了?
//禁止
EnableWindow(FindWindowEx(FindWindow(nil,'运算器'),
0,
nil,
'解密'),
false);
//解禁
EnableWindow(FindWindowEx(FindWindow(nil,'运算器'),
0,
nil,
'解密'),
true);
 
若要不显示button,而不是不可用,又怎么实现?

用sendmessage怎么实现?
多谢诸位
 
ShowWindow(FindWindowEx(FindWindow(nil,'计算器'),0,nil,'解密'),0);
 
就是啊,把EnableWindow换成ShowWindow不就行了?
//显示
ShowWindow(FindWindowEx(FindWindow(nil,'计算器'),0,nil,'解密'),sw_show);
//隐藏
ShowWindow(FindWindowEx(FindWindow(nil,'计算器'),0,nil,'解密'),sw_hide);
 
procedure TForm1.Button1Click(Sender: TObject);
Var
hwnd_Calc, hwnd_btn_CE : HWND;
begin
hwnd_Calc := findwindow(nil, '计算器');
if hwnd_Calc<> 0 then
begin
hwnd_btn_CE := FindWindowEx(hwnd_Calc, 0, 'Button', 'CE');
//ShowWindow (hwnd_btn_CE, SW_HIDE)
// Visible := False
IsWindowVisible (hwnd_btn_CE) ;
EnableWindow (hwnd_btn_CE, FALSE)
// Enabled := False
IsWindowEnabled (hwnd_btn_CE) ;
end;
end;
 
后退
顶部