Tag - Delphi

델파이에서 쓰레드 사용하기

델파이에서 쉽게 쓰레드 사용하는 방법입니다. synchronize 는 잘 사용하면 됩니다 :-)   함수내용 uses System.Classes, System.SysUtils, Vcl.Forms; procedure Wait(Proc: TProc); var Thread: TThread; begin Thread := TThread.CreateAnonymousThread(procedure() begin Proc; end); Thread.FreeOnTerminate := True; Thread.Start; while not Thread.Finished do Application.ProcessMessages; end; 사용방법 Wait(procedure() begin // .... 내용 end);

레지스트리 모니터링(Delphi)

사용방법 procedure RegistryMonitor(RootKey: HKEY; Key: string; Proc: TProc; WatchSub: boolean); begin TThread.CreateAnonymousThread(procedure var Reg: TRegistry; Event: cardinal; begin Reg := TRegistry.Create; Reg.RootKey := RootKey; if Reg.OpenKeyReadOnly(Key) then begin Event := CreateEvent(nil, False, False, nil); if Event > 0 then begin while True do begin RegNotifyChangeKeyValue(Reg.CurrentKey, WatchSub, REG_NOTIFY_CHANGE_LAST_SET, Event, True); if WaitForSingleObject(Event, INFINITE) = WAIT_OBJECT_0 then TThread.Synchronize(TThread.CurrentThread, procedure begin Proc end); end; end; end; Reg.Free; end).Start; end; // Proc : 명령어 입력 // WatchSub : 하위도 모니터링...