首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么实现这样的要求

2012-03-01 
如何实现这样的要求想在别人的软件里面嵌入一个按钮,点击这个按钮的时候,打开我的一个系统。如何做到,使用

如何实现这样的要求
想在别人的软件里面嵌入一个按钮,点击这个按钮的时候,打开我的一个系统。
如何做到,使用什么技术?

[解决办法]
有深度有难度
[解决办法]
这个。。。。。还是坐等高手出现吧
[解决办法]
哈哈,估计要钩子了。
[解决办法]
procedure TForm2.btn1Click(Sender: TObject);
var
h: Cardinal;
begin
h := FindWindow('TForm1', nil);
if h <> 0 then
begin
btn := TButton.Create(nil);
btn.ParentWindow := h;
btn.Left := 10;
btn.Top := 10;
FBtnProc := btn.WindowProc;
btn.WindowProc := BtnWndProc;
end;
end;

procedure TForm2.BtnWndProc(var Msg: TMessage);
begin
case Msg.Msg of
WM_MOUSEMOVE: begin
Caption := 'Button mouse moved';
end;
end;
FBtnProc(Msg);
end;
[解决办法]
把自己的button的parent设为它的面板
[解决办法]
首先,你有那个软件的源代码吗?

如果没有的话,
自己制作一个小窗体,窗体上就一个按钮,没有多余的东西。
使用全局消息拦截,拦截对方软件的重绘事件,适当调整你自己的窗体绘制即可。
比如对方软件最小化,你的要跟着最小化,对方窗体拖拽你也跟着拖拽就是了~~~

如果你想直接改对方窗体而非我说这种笨方法的话,那就修改对方软件的 exe 吧,先破解再汇编.

[解决办法]
楼上的方法不错,看着笨实际可行
[解决办法]
用ConvertReadStream函数读取源文件,分析源文件,给原来的软件打补丁。
[解决办法]
lght,他没那个软件的源代码,并且两个系统是独立的,也就是他没有机会运行除那个软件的其他程序。
你弄一堆替换父窗体的代码有啥意义阿?有代码直接在设计期加个按钮就得了,还弄什么 Parent!

LZ,你的实现方法只有一条了, 修改 exe。
使用汇编在窗体 CreateWindow 时创建自己的按钮,在消息循环中写入 button.Click 事件。
建议看一些 SDK 和汇编的书籍,这个没人能帮你。

热点排行