unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} function GetAllHandle(hwnd: Integer; lparam: Longint): Boolean; stdcall; //回调函数
var
buffer: array[..] of Char;
s: string;
int: integer;
begin
Result := True;
GetClassName(hwnd, buffer, );
Form1.listbox1.items.add(format('%d', [hwnd, StrPas(Buffer)])); //写入窗口ListBox1中
end; procedure TForm1.Button1Click(Sender: TObject);
var
handle: THandle;
begin
Handle := findWindow(nil, Pchar('Borland Delphi 7 Enterprise Edition - Installation Wizard')); //获得句柄
if Handle <> then
begin
EnumChildWindows(Handle, @GetAllHandle, Integer(@Handle)); // 枚举子窗体 if Form1.ListBox1.Items.Count = then //这是破解delphi7的代码片段,由Timer控制这段代码运行,由于Delphi7安装时打开的窗口比较多,这里对窗口作一个简单的分析,判断要写入注册码的窗口内的控件句柄是否为31个(0——30)
begin
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[])); //给delphi7输入注册码
SendMessage(handle, WM_SETTEXT, , Integer(PChar('6KN6')));
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[]));
SendMessage(handle, WM_SETTEXT, , Integer(PChar('PNWBQS')));
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[]));
SendMessage(handle, WM_SETTEXT, , Integer(PChar('PB?ZUB')));
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[]));
SendMessage(handle, WM_SETTEXT, , Integer(PChar('J8XW')));
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[]));
SendMessage(handle, WM_SETTEXT, , Integer(PChar('YC7')));
handle := StrToInt(Trim(Form1.ListBox1.Items.Strings[]));
SendMessage(handle, WM_SETTEXT, , Integer(PChar('24X'))); end; end
else
ShowMessage('抱歉,没有找到!'); end; procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
BHandle:THandle;
begin
BHandle:=StrToInt(Edit1.Text);
S:='你好吗?OK吗?';
SendMessage(BHandle, WM_SETTEXT, , LongInt(lpstr(S))); //写入文本字符
end; end.

delphi下实现控制其它窗体中的控件代码模板(delphi 7安装程序)的更多相关文章

  1. 【机房系统知识小结点系列】之遍历窗体中的控件,判断Text是否为空?

    做机房系统时,几乎每个窗体中都会用到判断界面中的控件是否为空的情景.我们曾经是这样走来的: 第一版: 好处:对窗体界面中的Text等控件,逐一做判断,当用户输入某一项为空的时候,会议弹出框的形式,告诉 ...

  2. C# 向程序新建的窗体中添加控件,控件需要先实例化,然后用controls.add添加到新的窗体中去

    C# 向程序新建的窗体中添加控件,控件需要先实例化,然后用controls.add添加到新的窗体中去 Form settingForm = new Form(); setForm deviceSet ...

  3. C# 清除当前窗体中TextBox控件中的内容

    //当有多个窗体时,对顶层的窗口进行操作,例如:我们开发具有录入功能的界面的时候,为了防止提交后的二次(重复)录入,希望点击提交按钮并提示成功后,界面的所有文本框内容能够自动清空.NET Framew ...

  4. 设置Form窗体中的控件的属性

    借助于反射,可获取当前窗体中的所有控件,根据需要设置它们的属性. Font defaultFont = new System.Drawing.Font("Microsoft Sans Ser ...

  5. vb将窗体中的控件或某种颜色透明

    Option Explicit ' ******************** 窗体透明 ******************** '***Module.bas '**** Public Declare ...

  6. c# winform 在一个窗体中使用另一个窗体中TextBox控件的值——解决办法

    [前提]一个winform应用程序项目中,窗体B,需要使用 窗体A 中一个TextBox控件的值,进行计算等操作. [解决方案] 1.在窗体A中定义:public static double a;// ...

  7. winform 窗体中 Time 控件的用法

    作用: 用于背景进程中.通过引发Timer事件,Timer控件可以有规律的隔一段时间执行一次代码.也就是,你可以根据你自己的需要,给Timer控件设置时间,Timer每隔这段时间,就执行一次代码. 属 ...

  8. C# 中对WinForm窗体中的控件快速设置TableIndex次序

    点击“视图”--“Tab键顺序”,然后便可设置.

  9. winform窗体中查找控件

    private RichTextBox FindControl()        { RichTextBox ret = null;            try            {       ...

随机推荐

  1. 基于ATmgea8单片机设计的加热控制系统(转)

    源:http://blog.163.com/zhaojun_xf/blog/static/3005058020085102562729/ 1 引言 温度是工业生产中主要的被控参数之一,与之相关的各种温 ...

  2. C#入门经典-第15章ListBox,CheckedListBox

  3. 关于sqlserver还原不了数据库的原因

    因为备份文件需要在服务器上打成压缩包,才能进行传输,不然会丢失数据..

  4. 让shell 变得容易理解

    1.重建你的语义模型(简单语义模型)2.变量,参数和方法命名3.测试用例4.足够的组块

  5. FZU Problem 2028 时空门问题(DFS+优化)

    一开始是MLE,后来想到了用vector,化二维为一维,做了这一步优化后,这就是很基础的一个广搜了 #include<iostream> #include<cstdio> #i ...

  6. c#如何序列化与反序列化json文件

    见网站: http://www.json.org/ 代码如下: /* * Copyright (c) 2013 Calvin Rien * * Based on the JSON parser by ...

  7. STM32开发指南-DMA

    DMA,直接存储器访问.传输数据时,外设通过DMA控制器直接访问内存,不经过cpu直接控制传输数据.不需要像中断处理方式需要保留和恢复现场的过程.通过硬件为内存和I/O设备开辟一条直接传送数据的通道, ...

  8. Sping--AOP--Annotation

    Aspectj 概念: 1. joinpoint:切入点, 比如@Before, @After, @Around 2. Pointcut:切入点集合, 比如 @Pointcut("execu ...

  9. ZOJ 3923 Handshakes

    水题. 算一下每个人和之前的人握手次数+之后的人和这个人握手次数.取最大值. #include<cstdio> #include<cstring> #include<cm ...

  10. HUST 1376 Random intersection

    神题.同学指教.1秒AC...http://blog.csdn.net/jtjy568805874/article/details/50724656 #include<cstdio> #i ...