知识大全 Delphi学堂之绑架窗体之Delphi版

Posted

篇首语:生活的理想,就是为了理想的生活。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi学堂之绑架窗体之Delphi版相关的知识,希望对你有一定的参考价值。

Delphi学堂之绑架窗体之Delphi版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

绑架窗体 顾名思义 就是将其它应用程序甚至系统程序的窗体活生生地拖进本程序的窗体内 这种未征得其它程序同意的强行 绑架 行为在某些场合下却能发挥出非常独特的作用 本文将讨论 绑架 窗体的技术及应用 并给出了一个完整的 强盗 程序的例子     从技术上讲 为了实现 绑架 强盗 程序中必须要有一个 MDIForm对象     实现 绑架 的第二个条件 是必须知道被 绑架 窗体的句柄 做到这一点并不难 比如 当鼠标在屏幕上滑动时 我们可以用 API函数GetCursorPos来获得鼠标指针的当前位置坐标 然后用另一个 API函数 WindowFromPoint来获得指定点窗口的句柄 或者使用FindWindow获得窗口句柄     有了上述两个条件 强盗 程序就可以开始实施 绑架 了 首先用 API函数GetWindow 的GW_CHILD命令来寻找本程序第一个子窗口的句柄 然后用另一个 API函数 SetParent为被 绑架 窗体指定一个 新父 即指向上面的子窗口的句柄 立刻 两个原本毫无关系的窗体具有了 父子 关系 被 绑架 窗口出现在 强盗 窗体内部!     绑架 的安全性  不分青红皂白地进行 绑架 是非常危险的 但只要遵守以下两个原则就可以保证安全性     第一 在关闭 强盗 程序之前 把被 绑架 窗体用 SetParent函数 释放 掉 即恢复被 绑架 者的原来的 父亲     第二 不要 绑架 系统窗口 系统窗口一般有 任务栏窗口 按下 开始 产生的窗口 按下 Ctrl+Alt+Del 产生的窗口 点击鼠标右键产生的窗口 等等     绑架 技术在VB中有广泛的应用 例如 可在程序运行中将控件置入容器控件内部(比如将一个按钮设成图象或窗体控件的子窗口) 或者将控件从一个容器移至窗体中的另一个     代码   在窗体的private中定义  hwndOldParent:HWND;    hwndNotePad:HWND;    将窗口的FormStyle设为fsMDIForm    procedure TForm Button Click(Sender: TObject);  begin  hwndNotePad:=FindWindow(PChar( Notepad ) );  hwndOldParent:=GetParent(hwndNotePad);  Windows SetParent(hwndNotePad handle);    end;    procedure TForm FormDestroy(Sender: TObject);  begin  Windows SetParent(hwndNotePad hwndOldParent);  end; cha138/Article/program/Delphi/201311/24689

相关参考

知识大全 Delphi学堂之用Delphi制作DLL小结

Delphi学堂之用Delphi制作DLL小结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一Dl

知识大全 用delphi制作抖动窗体

  以下程序将教你如何制作一个窗体窗体一旦运行将在屏幕上不断抖动cha138/Article/program/Delphi/201311/8406

知识大全 巧妙用Delphi设计多边形窗体

巧妙用Delphi设计多边形窗体  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文将介绍如何利用W

知识大全 如何使用Delphi实现无边界窗体的移动

如何使用Delphi实现无边界窗体的移动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在用De

知识大全 在Delphi中巧改窗体文件实现控件数组化

在Delphi中巧改窗体文件实现控件数组化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 自定义事件实现不同窗体间的通讯Delphi篇

自定义事件实现不同窗体间的通讯Delphi篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!要实现子

知识大全 Delphi深度探索之自动完成外壳扩展

Delphi深度探索之自动完成外壳扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 基于Delphi的组件设计之概念[3]

基于Delphi的组件设计之概念[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delph

知识大全 基于Delphi的组件设计之概念[1]

基于Delphi的组件设计之概念[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为组件制

知识大全 基于Delphi的组件设计之概念[2]

基于Delphi的组件设计之概念[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  属性可以有