他のアプリケーションがビジー状態になっているかどうかを確認するにはどうすればよいですか?他のアプリケーションがビジー状態かどうかを確認してください
私はコンソールにテキストを送信するプログラムを持っています。送信するテキストに#13文字(例:ls#13cd documents#13dir
)が含まれています。言い換えれば、私は一度に多くのコマンドを送信したいと思うし、コンソールはそれらを1つずつ処理します。私は文字で文字を送信しています。場合によっては、コンソールはls
とcd documents
しか実行しないことがあります。私は多分これはコンソールがビジー状態であっても私のプログラムが文字を連続的に送信しているからだと思います。その場合、コンソールは着信文字を受信しません。
この
は私のコードです: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;
私はあなたが正しくあなたがシェル/コマンドラインインタプリタのいくつかの並べ替えにテキストを送信している質問を解釈した場合、私は、Delphi 7
"コードサンプル"ボタンを使用して、あなたの質問を編集してください。 –