Der Sinn der 2. Prozedur ist mir nicht klar, wieso erst über alle Fenster iterieren und dann mit dem gespeicherten
Handle vergleichen? Wenn schon, dann würde ich doch eher EnumThreadWindows nutzen, die ThreadId sollte ja in der befüllten ProcessInformation enthalten sein. Zum eigentlichen Problem: bist Du sicher, dass Du Dir auch die richtigen Fensterhandles merkst?