procedure TThreadArrow3.Execute;
var
Str : string;
i : integer;
begin
WinExec('C:\Windows\notepad.exe',SW_Show);
synchronize(ShowupMsg);
Sleep(100);
end;
procedure TThreadArrow3.ShowupMsg;
var
str : string;
begin
str := 'message printed';
Form1.ListBox3.Items.Add(str);
end;
Critical Section 쓰면서 세 번째 Thread로는 notepad를 여는 예제
WineExec라는 함수를 windows dll 파일인 kernel32.dll에서 불러와 사용