은 델파이에서 Ctrl + C 명령을 시뮬레이트 할 수있는 방법이 있습니까? 문제는 다른 응용 프로그램에서 예를 들어 대상 텍스트를 선택한 후 메모장에서 텍스트를 복사하려는 경우입니다.델파이에서 Ctrl + c를 시뮬레이트하는 방법
답변
(프로세스 간 통신을 위해 클립 보드를 사용하는 것은 좋지 않습니다. 클립 보드는 사용자에게 속하므로 응용 프로그램은 사용자가 선택한 결과로만 응용 프로그램을 사용해야합니다. 당신이 텍스트를 메모장에서 선택한 경우,이 델파이 양식에 TMemo
에 내용을 얻을 것이다
) (단지 TMemo
및 TButton
사용하며, 당신의 uses 절에 ClipBrd
추가)의
procedure TForm1.Button1Click(Sender: TObject);
var
NpWnd, NpEdit: HWnd;
begin
Memo1.Clear;
NpWnd := FindWindow('Notepad', nil);
if NpWnd <> 0 then
begin
NpEdit := FindWindowEx(NpWnd, 0, 'Edit', nil);
if NpEdit <> 0 then
begin
SendMessage(NpEdit, WM_COPY, 0, 0);
Memo1.Lines.Text := Clipboard.AsText;
end;
end;
end;
샘플 검색 결과 :
텍스트를 먼저 선택하지 않으면, 먼저에게 WM_SETSEL
메시지를 보냅니다. 0
및 '-1'의 값을 전달하면 모든 텍스트가 선택됩니다.
procedure TForm1.Button1Click(Sender: TObject);
var
NpWnd, NpEdit: HWnd;
begin
Memo1.Clear;
NpWnd := FindWindow('Notepad', nil);
if NpWnd <> 0 then
begin
NpEdit := FindWindowEx(NpWnd, 0, 'Edit', nil);
if NpEdit <> 0 then
begin
SendMessage(NpEdit, EM_SETSEL, 0, -1);
SendMessage(NpEdit, WM_COPY, 0, 0);
Memo1.Lines.Text := Clipboard.AsText;
end;
end;
end;
꽤 잘 작동합니다. 왜 나는이 웹 사이트에서 더 많은 질문을 할 수 없습니까? – Oussaki
@Oussaki : 나는 왜 당신이 더 많은 질문을 할 수 있는지 전혀 모른다. 해당 유형의 정보는 [meta]를 확인해야합니다. 여기에는 StackOverflow의 작동, 디자인 및 지침에 대한 질문이 있습니다. (당신은 내가 당신의 [다른 질문] (http://stackoverflow.com/a/17605421/62576)에 대답하는 것을 보았습니까?) –
ahaha 감사합니다. 당신이 여기 최고입니다. (와이) – Oussaki
CTRL + C을 시뮬레이션 할 수있는 방법이 있습니까?
이 작업을 수행하는 방법은 Win32의 SendInput
기능을 사용하여 키 입력을 합성하는 것입니다. 다음은 예입니다
procedure SendCtrlC;
var
Inputs: array [0..3] of TInput;
begin
ZeroMemory(@Inputs, SizeOf(Inputs));
Inputs[0].Itype := INPUT_KEYBOARD;
Inputs[0].ki.wVk := VK_CONTROL;
Inputs[0].ki.dwFlags := 0; // key down
Inputs[1].Itype := INPUT_KEYBOARD;
Inputs[1].ki.wVk := ord('C');
Inputs[1].ki.dwFlags := 0; // key down
Inputs[2].Itype := INPUT_KEYBOARD;
Inputs[2].ki.wVk := ord('C');
Inputs[2].ki.dwFlags := KEYEVENTF_KEYUP;
Inputs[3].Itype := INPUT_KEYBOARD;
Inputs[3].ki.wVk := VK_CONTROL;
Inputs[3].ki.dwFlags := KEYEVENTF_KEYUP;
SendInput(4, Inputs[0], SizeOf(Inputs[0]));
end;
당연히 당신이 입력 포커스가 필요합니다
CTRL + C 키 스트로크 (keystroke)를 수신하고자하는 응용 프로그램입니다.
- 1. ctrl-c를 무시합니다.
- 2. C# webbrowser 컨트롤, ctrl + u 시뮬레이트하는 방법
- 3. Simthon Ctrl-C를 파이썬 스크립트
- 4. 프로그램을 종료하기 위해 Ctrl-c를 만드는 방법
- 5. scp 도중 CTRL-C를 비활성화하는 방법?
- 6. ZeroMQ : Windows에서 Ctrl-C를 처리하는 방법
- 7. ctrl + c를 눌러 texbox에 저장하십시오.
- 8. Ctrl-C를 방해하지 않는 semaphore.acquire
- 9. 만들려면 Ctrl-C를, 인 IntelliJ
- 10. 쉘에서 Ctrl-A-D를 시뮬레이트하는 방법은 무엇입니까?
- 11. PreTranslateMessage에서 Ctrl + C를 누르면 Ctrl + R 메시지 수신
- 12. Word 문서에서 AUTO IT를 사용하여 Ctrl + V를 시뮬레이트하는 방법
- 13. 파일 끝을 시뮬레이트하는 방법
- 14. 쉘 스크립트에서 Ctrl + C를 복제하는 방법은 무엇입니까?
- 15. Python : 결과를 얻으려면 Ctrl + C를 누르십시오.
- 16. 콘솔에서 Ctrl + C를 입력으로받을 수 있습니까?
- 17. ctrl + c를 반복해서 누르는 지점이 있습니까?
- 18. C#은 자식 프로세스에 ctrl-c를 방지합니다.
- 19. Ctrl + C를 두 번 눌러야합니다 : w
- 20. 쉘 스크립트에서 ctrl + C를 제공하는 방법은 무엇입니까?
- 21. ctrl + c를 누를 때 스레드의 호출 취소
- 22. Java에서 열기 위해 Ctrl-C를 보내십시오.
- 23. Ctrl + C를 잡은 후 종료하는 방법은 무엇입니까?
- 24. ganymed SSH2를 사용하여 SIGINT CTRL-C를 보내시겠습니까?
- 25. Qt를 사용하여 Windows 및 Linux에서 Ctrl + C를 잡는 방법
- 26. expect 스크립트 실행 중 인터럽트/ctrl C를 보내는 방법
- 27. 웹 사이트에서 여러 파일 다운로드, ctrl + c를 올바르게 처리하는 방법
- 28. ctrl + alt + del 윈도우 OS에서 c를 사용하여 비활성화하십시오.
- 29. pywinauto로 게임에서 키를 시뮬레이트하는 방법
- 30. 델파이에서 tinyurl을 생성하는 방법
'WM_COPY'메시지를 보냅니다. –
http://www.delphipages.com/forum/showthread.php?t=152642 –
@ANdreas 방금 전에 시도했지만 다른 사람들과 처리하지 않습니다. – Oussaki