Boa tarde, estou com um problema ... tenho uma procedure que faz uma verificação heuristica, no caso ela pega todo texto que existe na tela e aplicações e verifica com um listbox pesquisando pela existencia de algum através da função "Pos".
Acontece que essa procedure está sendo chamada por uma Thread (CreateThread e GotoLabel) e quando uso um delay (Sleep) baixo ela causa crash na aplicação.
Já tentei ao maximo resolver porém sem resultados positivos até agora, se alguem souber como me ajudar agradeço.
Segue a procedure:
Grato a todos
Acontece que essa procedure está sendo chamada por uma Thread (CreateThread e GotoLabel) e quando uso um delay (Sleep) baixo ela causa crash na aplicação.
Já tentei ao maximo resolver porém sem resultados positivos até agora, se alguem souber como me ajudar agradeço.
Segue a procedure:
Código:
procedure Heuristico; var Idx : Word; X : Word; Caption : Array[0..255] of Char; begin for Idx := 0 to ListaHeur.Count-1 do begin Application.ProcessMessages; for X:=1 to 10000 do begin Application.ProcessMessages; if (GetWindowText(x,Caption,255) <> 0) then begin Application.ProcessMessages; if Caption <> '' then begin Application.ProcessMessages; if (Pos(AnsiLowerCase(ListaHeur.Strings[Idx]), AnsiLowerCase(Caption)) > 0) then begin detectado := true; PostMessage(FindWindow(nil, Caption), WM_Close, 0, 0); CriaLog('null','null', Caption); break; end; Application.ProcessMessages; end; Application.ProcessMessages; end; Application.ProcessMessages; end; Application.ProcessMessages; end; Application.ProcessMessages; end;
Comment