Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15934] Re:윈도우 화상키보드 display에 대해..
빌더(TWx) [builder] 2365 읽음    2017-09-26 17:52
델파이초보 님이 쓰신 글 :
: 안녕하세요..
: 제가 모니터 2대를 연결해서 1대는 일반 키보드, 사용하고 2번째 모니터에는
: 윈도우에서 제공하는 화상키보드를 보여주게하고 싶은데  ShellExecute나 winexec를
: 사용해서 실행시 무조건 첫번째 모니터에만 나오던데 2번째 모니터에로 실행할 수 있는
: 방법 좀 알려주시면 감사하겠습니다.



답변:


ShellExecuteEx() API를 이용하면 SHELLEXECUTEINFO 구조체 멤버 중에 hMonitor 핸들을
해당 모니터의 핸들 값으로 지정해서 타켓 프로그램이 특정 모니터에 나타나도록 간단하게
처리 할 수 있지만


화상키보드 처럼 프로그램 종료시 창의 위치 정보를 갖고있다가 복원하는 경우에는
화상키보드의 윈도우 핸들을 구해서 SetWindowPos() API로 위치를 별도로 지정해야 합니다.

MONITORINFO mi;
GetMonitorInfo(hSecondMonitorHandle, &mi);

....

SetWindowPos(hWndOskWindowHandle, .... mi.rcMonitor........);

+ -

관련 글 리스트
15933 윈도우 화상키보드 display에 대해.. 델파이초보 1941 2017/09/23
15934     Re:윈도우 화상키보드 display에 대해.. 빌더(TWx) 2365 2017/09/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.