다른 응용 프로그램이 사용 중인지 어떻게 확인합니까?다른 응용 프로그램이 사용 중인지 확인하십시오.
텍스트를 콘솔로 보내는 프로그램이 있습니다. 보내 드릴 텍스트에 # 13 자 (예 : ls#13cd documents#13dir
)가 포함되어 있습니다. 즉, 한 번에 많은 명령을 보내려고하고 콘솔이 하나씩 명령을 처리합니다. 문자로 문자를 보내고 있습니다. 때때로 콘솔은 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;
난 당신이 올바르게 쉘/명령 줄 인터프리터 일종의 텍스트를 보내는 질문을 해석하면 델파이 7
"코드 샘플"버튼을 사용하여 질문을 작성하십시오. –