晓鹏写的这个是超简单的,当然实现这个还有很多方法,有些效率也比这个高很多,有空在写吧..

提示一下,用数组,然后打乱顺序,取前几位也行的..

function randstr(len:integer):string;
var
  i : integer;
  temp,str : string;
begin
  randomize;
  temp := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  str := '';
  for i := 1 to len do
    begin
      str := str + copy(temp,random(36),1);
    end;
  result := str;
end;

Delphi 获取句柄 sendmessage

查找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄
查找子窗体:childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题');
另外有个枚举子窗体的API,EnumChildWindows(主创体句柄,@回调函数,用户参数);
用这个函数需要自己写一个回调的函数,比如:
function EnumChildProc(ahWND:HWND; param:LPARAM):boolean; stdcall;
sendmessage(handle,message,wl,rl)

unit     Unit1;

interface

uses     Windows,     Messages,Tlhelp32,     SysUtils,     Classes,     Graphics,     Controls,     Forms,     Dialogs,     StdCtrls;

type
TForm1     =     class(TForm)
procedure FormCreate(Sender: TObject);

private
{     Private     declarations     }
public
{     Public     declarations     }
end;
var     Form1:     TForm1;
implementation
{$R     *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var a,b:PAnsiChar;
h:HWND;
begin
h:= FindWindow(nil,'abc.txt - 记事本');
h:= FindWindowEx(h,0,'edit',nil);
SendMessage(h,WM_SETTEXT,255,Integer(PChar('我来测试了')));
ShowMessage( IntToStr(h));
end;

Read the rest of this entry

函数功能:该函数改变指定窗口的位置和尺寸。对于顶层窗口,位置和尺寸是相对于屏幕的左上角的:对于子窗口,位置和尺寸是相对于父窗口客户区的左上角坐标的。
    函数原型:BOOL MoveWindow(HWND hWnd.int x.int y,int nWidth,int nHeight,BOOL BRePaint);
    参数:
    hWnd:窗口句柄。
    x:指定窗口的新位置的左边界。
    Y:指定窗口的新位置的顶部边界。
    nWidth:指定窗口的新的宽度。
    nHaight:指定窗口的新的高度。
    bRepaint:确定窗口是否被刷新。如果该参数为TRUE,窗口接收一个WM_PAINT消息;如果参数为FALSE,不发生任何刷新动作。它适用于客户区,非客户区(包括标题栏和滚动条),及由于移动子窗口而露出的父窗口的区域。如果参数为FALSE,应用程序就必须明确地使窗口无效或重画该窗口和需要刷新的父窗口。
    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
    备注:如果bRepaint为TRUE,系统在窗口移动后立即给窗口过程发送WM_PAINT消息(即由MoveWindow函数调用 UPdateWindow函数)。如果bRepaint 为FALSE,系统将WM_PAINT消息放在该窗口的消息队列中。消息循环只有在派遣完消息队列中的其他消息时才派遣WM_PAINT消息。
    MoveWindow给窗口发送WM_WfNOWPOSCHANGING,WM_WINDOWPOSCHANGED,WM_MOVE,WM_SIZE和WM_NCCALCSIZE消息,