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에서 불러와 사용
