我在写一个挂,没有用多线程,导致很卡,而且没有终止键,我现在想用多线程。
我需要一个例子,也就是利用多线程在屏幕中移动3个坐标。用过程,定义3个过程,一个过程一个坐标,然后让多线程移动,要实现挂起。恢复,结束。谢谢了。非常感谢。本人QQ1014604967.怎么做都可以,只要能实现目标就行!~ 太感谢了
我需要一个例子,也就是利用多线程在屏幕中移动3个坐标。用过程,定义3个过程,一个过程一个坐标,然后让多线程移动,要实现挂起。恢复,结束。谢谢了。非常感谢。本人QQ1014604967.怎么做都可以,只要能实现目标就行!~ 太感谢了
TTestThread = class(Thread)
private
protected
public
end;
...
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
end;var
Form1: TForm1;implementation{$R *.dfm}var
hThread: THandle;
num: Integer; {线程入口函数}
function MyThreadFun(p: Pointer): Integer; stdcall;
begin
while True do
begin
num := Random(100);
end;
Result := 0;
end;{建立并挂起线程}
procedure TForm1.Button1Click(Sender: TObject);
var
ID: DWORD;
begin
hThread := CreateThread(nil, 0, @MyThreadFun, nil, CREATE_SUSPENDED, ID);
Button1.Enabled := False;
end;{唤醒并继续线程}
procedure TForm1.Button2Click(Sender: TObject);
begin
ResumeThread(hThread);
end;{挂起线程}
procedure TForm1.Button3Click(Sender: TObject);
begin
SuspendThread(hThread);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 100;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
Text := IntToStr(num);
end;end.