Ну и в чем проблема?
При добавлении в список, сохраняй хэндл окна и потом, при запуске потоков, просто передавай его в поток. Типа:
Код:
var
i : integer;
thrd : TMyThread;
begin
for i := 0 to CheckListBox.Items.Count-1 do
if CheckListBox.Checked[i] then
begin
thrd := TMyThread.Create(True);
thrd.WndHandle := THandle(CheckListBox.Items.Objects[i]);
thrd.Resume;
end;
соответсвенно, при добавлении окон в список пользуем AddObject() и у потока надо иметь соотв аттрибут WndHandle.
PS. точно иерархию свойств в TCheckListBox я не помню, так что проверь там...