var
a:string;
a := '12345';
Clipboard.AsText := a;
keybd_event( VK_CONTROL, VK_CONTROL, 0, 0 );
keybd_event( Byte('V'), Byte('V'), 0, 0 );
keybd_event( Byte('V'), Byte('V' ), KEYEVENTF_KEYUP, 0 );
keybd_event( VK_CONTROL, VK_CONTROL, KEYEVENTF_KEYUP, 0 );
이렇게 해서 클립보드로 들어간 문자를 원하는곳에 붙여 넣기까지는 했습니다.
그리고
keybd_event( VK_CONTROL, VK_CONTROL, 0, 0 );
keybd_event( Byte('C'), Byte('C'), 0, 0 );
keybd_event( Byte('C'), Byte('C' ), KEYEVENTF_KEYUP, 0 );
keybd_event( VK_CONTROL, VK_CONTROL, KEYEVENTF_KEYUP, 0 );
이렇게 해서 특정 위치(다른 프로그램의 마우스로 블럭을 잡아 놓은곳)의 텍스트를 복사를 했고
이것을 edit1.text에 집어 넣기 위해
edit1.text := Clipboard.AsText;
를 했는데
오류가 나타납니다.(cannot open clipboard)
근데 디버깅을 하면서 하나씩 확인을 해보니...Ctrl + C로 복사한 값이 한참후에 클립보드로 들어가는것 같습니다.
Clipboard.AsText 부분이 한참후에는 값이 들어오더라구요~ 약 15~20초 정도 시간이 걸리는것 같더라구요
이 부분에서 클립보드로 가져오는 시간을빠르게 할 수 는 없는건가요??
답변 부탁드립니다.
|