Q&A

  • ctrl + v 말고 붙여 넣기 방법
안녕하세요?

ctrl + v 말고 붙여 넣기를 하실 수 있는 분이 혹시 계시면 방법을 좀 알려 주시기 바랍니다.

다른 어플리에이션의 스트링그리드 밑의 인플레이스에디트에 데이터를 보내려고 합니다.
이 컨트럴의 핸들 값을 알면 sendmessage 등을 통해 간단하게 보낼 수 있겠지만 스트링그리드들이 여럿 있어서 클래스 이름으로는 제어할 수 없고 spy++ 등으로 알아내는 윈도우 핸들 값은 어플리케이션을 실행할 때마다 달라져서 역시 이 것으로도 제어를 할 수 없읍니다.
컨트럴들이 이름도 가지고 있지 않습니다.

그래서 어쩔 수 없이 창과 컨트럴을 활성화한 상태에서 keybd_event로 입력을 하려고 하는데 특정 문자들만 입력을 받고 ctrl 등의 입력을 거부합니다.

혹시 같은 이름의 여러 클래스들 가운데 특정 클래스를 제어하는 방법을 알고 계신 분이 계시면 이 것도 좀 알려 주시기 바랍니다.

그럼 이만.
5  COMMENTS
  • Profile
    최용일 2007.10.13 06:36
    안녕하세요. 최용일입니다.

    프로그램내부에서 특별히 처리하지 않은한 키보드로 Ctrl+V를 누르나 keybd_event를 이용해서 키를 누르나 별 차이가 없을건데요...
    안된다고 하셔서 제가 테스트해봤지만 잘 됩니다.

    <!--CodeS-->
      keybd_event(VK_CONTROL, $9D, 0, 0); // Press Ctrl
      keybd_event(VkKeyScan('V'), $9E, 0, 0); // Press V
      keybd_event(VkKeyScan('V'), $9E, KEYEVENTF_KEYUP, 0); // Release V
      keybd_event(VK_CONTROL, $9D, KEYEVENTF_KEYUP, 0); // Release Ctrl
    <!--CodeE-->

    항상 즐코하세요.

  • Profile
    김범진 2007.10.13 06:53
    의미 전달에 약간의 문제가 있었읍니다.

    ctrl + v도 안 되고 keybd_event도 물론 안 됩니다.
    숫자와 엔터 키 값 정도만 입력이 됩니다.

    키 스트로크 에뮬레이팅 말고 다른 방법은 없을까 해서요.

    수시로 변하는 여러 단위의 숫자들을 입력해야 하는데 이 것을 한 글자 씩 keybd_event로 구현하려고 하니 감감하네요.

    고맙습니다.

    그럼 이만.
  • Profile
    최용일 2007.10.15 21:16
    keybd_event가 된다는 것인지 안된다는 것인지 알 수 없군요... 쩝~

    일단 keybd_event로 원하는 문자가 입력이 된다면 for문을 쓰시면 원하는 문자열(여러단위의 숫자들)을 한번에 입력하는데 별 무리가 없을듯 하군요...

    윈도우의 부모나 위치등을 이용해서도 원하는 윈도우를 찾을 수도 있을것 같군요...

  • Profile
    김범진 2007.10.15 21:35
    고맙습니다.

    keybd_event가 숫자와 엔터 키 등의 경우에만 실행되고 ctrl 키 등에 대해서는 실행이 되지 않게 컴퍼넌트가 제작되어 있읍니다.
    입력해야 할 숫자들은 단위 자체가 1에서 100 단위로 유동적이기 때문에 처리가 복잡할 거라고 생각했읍니다.
    포인터 위치로 핸들 값을 구해도 매 실행 시마다 핸들 값이 달라지는군요.
    포기해야겠읍니다. ^^;

    그럼 이만.
  • Profile
    최용일 2007.10.16 00:14
    keybd_event로 숫자가 입력이 되면 원하는 기능은 되는것 아닌가요? 굳이 Ctrl+V로 붙여넣기를 할 이유가 없을듯 한데요... 이전에 이야기한대로 100이든 1000이든 for문으로 루프를 돌면 구현이 복잡할이유가 없습니다.

    윈도우 핸들은 생성될때마다 달라지는게 정상입니다.

    쩝~

    • 초보자
    • 2007.10.21 01:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.10.21 18:59
      sName[0] := 'AB'; sName[1] := 'ZY'; 입니다. sName[0][1] ==> 'A' sName[1][2] ==> 'Y' 쉽...
    • 초보자
      2007.10.22 00:22
      아.. 제 질문이 좀 부족했나보네요.. 제가 원하는것은 배열의 갯수가 많아서 한번에 세팅하고 싶은경우 입...
    • 착한천사
      2007.10.25 19:59
      변수에 일괄세팅하는것은 SET를 제외하고, pascal에서 안되는것으로 알고 있습니다. 그러나, 상수에게는 ...
    • 강대근
    • 2007.10.20 00:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2007.10.20 02:45
      안녕하세요.. 워..아직도 NT를 사용하는 곳이 있군요.. 오래전 사이트를 돌아다니며 열심히 코딩했...
    • 강대근
      2007.10.20 02:56
      감사합니다..
    • 문혜윤
    • 2007.10.18 03:19
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 찬우아빠
      2007.10.19 19:16
      아무도 답변을 안달아주시니 안따까운 마음에 제가 힌트라도 될까 싶어 적습니다.... 델파이나 디비 문...
    • 왕초보
      2007.10.19 23:13
      이 오류는 현재 커넥션되어있는 디비에서 자기를 리스토어하려고 한다는 오류인것 같은데요 아래와 같...
    • 미트몰
      2007.10.26 19:02
      답변감사합니다. 답변해주신 것처럼 프로그램 문제는 아니었고 메인메뉴 프로그램에서 ADO로 UserDB에 C...
    • 구창민
    • 2007.10.17 23:00
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.10.25 20:20
      쵸코파이는 맛있는거.. 델파이는 골때리는거.. 엄청난 차이가 있죠.. ps. 이건 자게로 이사하는것이 ...
    • 구창민
      2007.10.26 01:32
      이사하기 싫다면 어쩌 실 겁니까?
    • 손귀선
      2007.10.20 03:32
      아무런 관계가 없는 듯 한데... 아마도 국산 찌짐 이나, 전 과 관계가 있는 듯.... ^^; 델 찌짐, 델 ...
    • 구창민
      2007.10.26 01:36
      훌륭한 답변 감사드립니다~ 저도 귀선님 처럼 훌륭한 개발자가 되어서 좋은 답변 하겠습니다~ 좋은 ...
    • 찬우아빠
      2007.10.17 23:07
      //============================================// 초코파이(Chocopie)는 두 개의 원형 비스켓을 메쉬...
    • 구창민
      2007.10.26 01:36
      답변 감사합니다~ ㅎㅎ
    • 모민현
    • 2007.10.17 20:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 찬우아빠
      2007.10.17 21:13
      구현하기 나름일텐데요.. 단지 버튼크릭으로 구현하실꺼라면 트리뷰는 Align 속성 aLeft로 panel은 Alin...
    • 모민현
    • 2007.10.17 19:19
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 찬우아빠
      2007.10.17 19:26
      implementation uses unit2; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin ...
    • 모민현
      2007.10.17 19:43
      uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  ...
    • 찬우아빠
      2007.10.17 19:49
      거기다 Panel1을 넣으시면 안되구요.. standard 탭에 있는 패널을 선택하셔서 form1에 올려놓으시면 ...
    • 모민현
      2007.10.17 19:53
      잘 되네요^^
    • 최용일
      2007.10.17 11:31
      안녕하세요. 최용일입니다. 제 생각에는 저장은 되는데 저장된 파일이 어디 있는지 잘 모르시는 것 같습...
    • 야단났네~*
      2007.10.17 20:35
      감사합니다. 지적하신 그 문제였습니다. 예전에도 동일한 문제로 헤맨적이 있었는데...
    • 박철우
    • 2007.10.16 22:58
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 찬우아빠
      2007.10.17 03:04
      똑같은 환경이 아니라서 제가 테스트는 못해봤습니다. 분산디비인경우 이렇게 쓸경우가 많을텐데 요즘 다...
    • 구창민
      2007.10.17 03:15
      오오.. 찬우아빠님 역시 디비고수.. 찬우아빠님 만쉐~~
    • 찬우아빠
      2007.10.17 03:16
      호곡.... ㅡㅡ
    • 메니아
    • 2007.10.16 04:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2007.10.16 19:16
      Project Option에 MainForm 을 확인해 보세요. MainForm이 DM으로 되어 있으면 프로세스가 남아 있을 ...
    • 최용일
      2007.10.15 21:19
      안녕하세요. 최용일입니다. DBGrid에는 그러한 기능이 없습니다. DBGrid는 Database에 있는 데이터를 표...
    • 이태윤
    • 2007.10.13 21:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.10.15 21:21
      안녕하세요. 최용일입니다. 소트를 하실려면 Index를 쓰시거나 TTable컴포넌트 대신에 TQuery컴포넌트를...
    • 김범진
    • 2007.10.13 05:48
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.10.13 06:36
      안녕하세요. 최용일입니다. 프로그램내부에서 특별히 처리하지 않은한 키보드로 Ctrl+V를 누르나 keybd_...
    • 김범진
      2007.10.13 06:53
      의미 전달에 약간의 문제가 있었읍니다. ctrl + v도 안 되고 keybd_event도 물론 안 됩니다. 숫자와 엔...
    • 최용일
      2007.10.15 21:16
      keybd_event가 된다는 것인지 안된다는 것인지 알 수 없군요... 쩝~ 일단 keybd_event로 원하는 문자가 ...
    • 김범진
      2007.10.15 21:35
      고맙습니다. keybd_event가 숫자와 엔터 키 등의 경우에만 실행되고 ctrl 키 등에 대해서는 실행이 되지...
    • 최용일
      2007.10.16 00:14
      keybd_event로 숫자가 입력이 되면 원하는 기능은 되는것 아닌가요? 굳이 Ctrl+V로 붙여넣기를 할 이유가 ...
    • 김성일
    • 2007.10.13 02:20
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 왕초보
    • 2007.10.13 00:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2007.10.13 00:45
      안녕하세요.. 참고하시고 즐거운 프로그래밍 하세요.. http://www.delmadang.com/cwb-bin/CrazyWWWBo...
    • 이하영
    • 2007.10.12 07:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2007.10.12 19:35
      안녕하세요.. 아래 주소들이 힌트가 되었음 좋겠네요.. http://www.delphibbs.com/delphibbs/dispq.a...
    • 임우식
      2007.10.12 19:43
      용지설정부분이 A4 사이즈로 선택되어 있는데...어찌된 일인지 몰라도 용지선택하는곳 오른쪽의 수치가 엄...
    • 최용일
      2007.10.13 02:35
      핵심적인 기능은 단 두가지입니다. 카메라등의 장치에서 영상 소스를 캡춰해서 인코딩하는 것과 이것을 ...
    • 박찬우
      2007.10.16 20:30
      oncellchanging 은  ~ing 가 붙었지요 ? 그래서 변경되면 즉시 발생할껍니다.....그리하여 입...