Comment vérifier si une autre application est occupée?déterminer si une autre application est occupée
J'ai un programme qui envoie du texte à une console. Le texte que je vais envoyer contient # 13 char (par exemple ls#13cd documents#13dir
). En d'autres termes, je veux envoyer plusieurs commandes en même temps et la console les traitera une par une. J'envoie le caractère de caractère par caractère. Parfois, la console exécute uniquement ls
et cd documents
. Je pense que c'est peut-être parce que mon programme envoie continuellement des caractères même si la console est occupée, auquel cas la console ne reçoit pas les caractères entrants.
Ceci est mon code:
procedure TForm1.SendTextToAppO(Str: String; AHandle: Integer);
var
iWindow, iPoint, i: Integer;
SPass: PChar;
sList: TStringList;
begin
sList := TStringList.Create;
ExtractStrings([#13],[' '],PChar(Str),sList);
iWindow := AHandle;// AHandle is the handle of the console
iPoint := ChildWindowFromPoint(iWindow, Point(50,50));
for i:=0 to sList.Count-1 do begin
SPass := PChar(sList[i]);
try
while(SPass^ <> #$00) do begin
SendMessage(iPoint,WM_CHAR,Ord(SPass^),0);
Inc(SPass);
end;
SendMessage(iPoint,WM_KEYDOWN,VK_RETURN,0);
except
// do nothing;
end;
end;
end;
J'utilise Delphi 7.
S'il vous plaît, éditez votre question et formatez le code, en utilisant le bouton "Exemple de code" –