Q&A

  • 다른 프로그램의 글박스에 글 강제로 넣기
안녕하세요.
다른 프로그램을 띄워 놓고(무슨 프로그램이던지간에)
그 프로그램의 에디터 박스에 키보드 치듯이 글을 입력하게끔
프로그램을 짜고 싶습니다.
즉 강제로 글 입력을 하고 싶은데 어떻게 해야 하는지 알려주세요.

흠..
1. 마우스로 클릭한 글박스의 이벤트를 얻어서
2. sendmessage 등으로 글을 넣고 싶습니다. --;
3. 글넣고 엔터까지... --;

이걸 못하겠습니다...--;
답변 부탁드립니다.. ^^;

아래까지는 만들어 보았는데.. --;
그 프로그램의 캡션만 바뀌네요.. ㅠ.ㅠ

var
AHandle:THandle;
WindowText:Array[0..255] of Char;
begin

AHandle := GetForegroundWindow();
WindowText:='헐';
SendMessage(AHandle,WM_SETTEXT,SizeOf(WindowText),LongInt(@WindowText));

SendMessage(AHandle, WM_SETFOCUS, 0, 0);
PostMessage(AHandle, WM_KEYDOWN, VK_RETURN, 0);
SendMessage(AHandle, WM_CHAR, 13, 1);
SendMessage(AHandle, WM_CHAR, 10, 1);
end;
1  COMMENTS
  • Profile
    너구리 2004.04.30 22:49
    다른프로그램의 에디터 박스의 핸들을 얻어 오면 되겠군요..

    엔터는 WindowText:='헐'+#13#10;
    이렇게 하면 되구요..

    핸들을 얻어오는 것은 FindWindow와 FindWindowEx Win API 함수를

    이용하면 됩니다.

    앞에꺼가 창의 핸들을 가지고 오는것이고 그 다음 것이

    child 의 핸들을 가지고 오는 거라고 하는군요..

    제가 해본건 아니구요.. 어디 질답 게시판에 있었거든요..

    FindWindow 함수는 찾아보시면 많이 나와 있구요..(사용법이)

    FindWindowEx만 찾아보시면 될거 같습니다.

    FindWindow 함수의 인자가 두개인데..

    FindWindow(classname,WindowCaption)

    이렇게 되거든요..

    그럼 창이름은 창의 꼭데기에 있는 이름인데..클래스 네임은 어떻게

    가지고 오느냐는 이것도 해본적이 없지만..

    Spy++ 이런 프로그램으로 클래스이름 까지도 볼수 있다고 합니다.

    한델과 델마당에서 찾아보세요~~

    유사한 답변이 있습니다.

    • 전대식
    • 2004.04.30 20:30
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박수영
      2004.05.01 17:41
      AddStrings( stringlist );
    • 델초짜가
      2004.05.02 12:29
      답변감사드립니다 ^^ 우선 제 질문은 이건데요 -_-; var AllString: String; StringList: TStringLis...
    • 장세정
    • 2004.04.30 19:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최연철
    • 2004.04.30 19:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.04.30 19:23
    • 초보운전
      2004.04.30 19:29
    • 이중철
      2004.04.30 19:53
      DB Acess를 사용하지 않고 직접 실행화일로 하는 방법이네요 UNIX라면 Cron으로 처리하면 될것입...
    • KDDG_ZZOM
      2004.04.30 19:35
      저는 이렇게하고있습니다... load from 올릴.txt insert into 올릴테이블명 물론 dbaccess에서 하...
    • 권황중
      2004.04.30 19:20
      정확하지는 않지만 포토샵 CS 버전에서 인증관련 부분때문에 혹시 충돌 생겨서 그러지 않나여 전에 회사...
    • 이재현
    • 2004.04.30 04:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.04.30 22:49
      다른프로그램의 에디터 박스의 핸들을 얻어 오면 되겠군요.. 엔터는 WindowText:='헐'+#13#10; 이렇게 ...
    • 마르
    • 2004.04.30 04:02
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정유진
    • 2004.04.30 03:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권황중
      2004.04.30 06:58
      제가 알기로 닷넷 dll 과 이전의 dll 버전은 호환이 안되는걸루 알고 있는데요. 비주얼스튜디오에서 제공...
    • 정유진
      2004.04.30 18:38
      감사합니다.(_._)
    • 권황중
      2004.05.02 11:30
      안녕하세요. 위에 쓴 제 글에서 한가지 오류가 있네요. 제가 이 부분에 대해서 찾아보니, c# dll 도 사...
    • 박성일
    • 2004.04.29 21:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.04.29 22:14
      음.. 직접 연결된 TQuery나 TTable 에서 값을 읽어 오세요... 디비 그리드는 값을 가지고 있지 않은...
    • 조희정
    • 2004.04.29 20:57
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이종현
      2004.04.30 18:42
        FormatFloat('0000#',StrToInt(6))); 이
    • 한원희
      2004.04.29 22:57
      안녕하세요. 한원희입니다. 윈도우 API인 wsvprintf를 이용하셔도 됩니다. var   args:ar...
    • 이중철
      2004.04.29 23:31
        s := '6';   caption := StringOfChar('0', 6 - Length(s)) + s;
    • 너구리
      2004.04.29 22:28
      function fnMakeNumStr( iNumber, iLen : Integer) : String; var //  3 => '0003'  &...
    • 최용일
      2004.04.29 22:20
      안녕하세요. 최용일입니다. 스트링값이 숫자로 되어 있으면 Format함수를 쓰면 편하는데... 아래 예...
    • 김형환
    • 2004.04.29 20:33
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.04.29 22:14
      안녕하세요. 최용일입니다. 팁란에서 BLOB로 검색해보세요. 원하시는 자료가 있습니다. ^^ 항상 즐코...
    • 김형환
      2004.04.29 23:40
      최용일님 답변에 감사 드립니다... 제가 하고자 하는것은 paradox에 wmf파일을 저장하고 읽어오는것을 ...
    • 최용일
      2004.04.30 01:29
      안녕하세요. 최용일입니다. 흠... 어떤 부분이 이해가 안되시는지...? Paradox도 BLOB필드를 지원하...
    • 김진용
      2004.04.29 20:49
      질문이 이게 맞는지 모르겠네요..         With Query1 D...
    • 김회석
      2004.04.30 00:07
      김진용님 정말 감사합니다.(냉무) 많은 도움 부탁드림니다
    • 이중철
      2004.04.29 21:51
      다른것들은 나름대로 다 방식이 다틀립니다. 그래도 공용으로 쓸 수 있는것은 select   입금...
    • 김회석
      2004.04.30 00:03
      먼저 답변 감사드립니다.. 월별 합계금액SUM 을 전역변수값으로 가져가야 되거든요.. 그래서 그 값을 ...
    • 찰리 ^^
    • 2004.04.29 19:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.04.29 21:18
      그룹헤더와 그룹 풋터 밴드가 있습니다. 헬프를 참조하세요..~
    • 델촙
    • 2004.04.29 19:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.04.29 22:09
      안녕하세요. 최용일입니다. 리스트(SList)는 폼의 OnDestroy이벤트에서 Free시켜주세요... //저장하...
    • 델촙
      2004.04.29 22:42
      이룬 ㅠ.ㅠ 딸랑 그거 하나땜시 내 머리 쥐어짜고 말았네요 ㅠ.ㅠ 아우~ 내 머리카락 ㅡㅡ; 즐되세...
    • 한원희
      2004.04.29 18:11
      안녕하세요. 한원희입니다. 속성의 Write를 지정해 주지 않아서, 읽기 전용 속성으로 되어 있는데, 그 ...
    • 김동열
      2004.04.29 18:42
      property Spc72Chk: boolean read blnSpc72Chk write blnSpc72Chk; 이렇게 지정해 주고여.. Spc72Chk:=...
    • 한원희
      2004.04.29 20:19
      안녕하세요. 한원희입니다. 말씀 하시 부분만으로는 어떤 상황인지 알 수가 없어서 더 자세한 답변을 드...
    • 권황중
      2004.04.30 07:04
      이렇게 한번 해 보세요 private FSpc72Chk : Boolean; procedure SetSpc72Chk(const Value:Boolean); ...