那我打个比方,比如你的MainFuck执行的是从端口1234接收到字符'F'
可以这样,如下:
const
PWM_ReceiveChartFuck = WM_USER + 1;//在主程序中自定义一个消息
//接下来再写个类,从TThread继承.
type
TReadThread = class( TThread )
protected
procedure Execute; override;
public
CloseEvent : Handle
end;
....
var
ReadThread : TReadThread: //类的实例.
CloseEvent : THandle;
...
//TReadThread
procedure TReadThread.Execute;
var
receiveChar : TChar;
begin
While True do
begin
if WAIT_TIMEOUT <> WaitForSingleObject(CloseEvent,0)
break; //退出线程
//写上你的检测代码,将端口1234上收到的字符放到receiveChar中
if (receiveChar = 'A') then
PostMessage(Application.Handle,PWM_ReceiveChartFuck,0,0);//注意这里的Application.Handle是指进程的句柄.
end;
end;
//EXE
begin
CloseEvent := nil;
ReadThread := nil;
CloseEvent := CreateEvent(nil,FALSE,FLASE,nil);
if (nil = CloseEvent) then exit;//异常
ReadThread := TReadThread.Create( True)
if (nil = ReadThread) then exit;//异常
ReadThread.CloseEvent := CloseEvent;
ReadThread.Resume;
......
end;