수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1693824
  • Today | 175
  • Yesterday | 588

Programming/MFC2007/03/08 10:00

WebBrowser 로 부터 키보드 메세지 가로채기

원본 : http://www.debuglab.com/knowledge/webkeyboard.html

1.요약

ATL 컴포넌트가 특정 키보드 메세지를 받을 수 있는 방법에 대해서 알아봅니다.


2.본문

ATL 컴포넌트를 만들게 되면, 웹브라우저가 키보드 메세지를 (Accelerator Key.. 예를 들어 Tab, Delete 같은 키) 컴포넌트로 보내주지 않습니다. 하지만, 웹브라우저가 노출하는 IOleInPlaceActiveObject 인터페이스의 TranslateAccelerator 함수를 호출하면 됩니다. 물론 WM_KEYDOWN 메세지 핸들러에서 처리해 주시면 됩니다. 하지만, 간혹 WM_KEYDOWN 메세지가 정상적으로 들어오지 않는 경우가 있는데, 이를 위해서 아래와 같이 메세지 펌프를 조작하면 됩니다.


3.예제

// 메세지 펌프 

while (GetMessage(&msg, NULL, 0, 0)) 

{ 

    TranslateMessage(&msg); 

    

    // Send all keyboard messages to the window of your 

    // application.  hwndApp is the window handle of 

    // your application. 

    // 

    if (msg.message >= WM_KEYFIRST && msg.message <= WM_KEYLAST) 

        ::SendMessage(hwndApp, msg.message, msg.wParam, msg.lParam); 

    

    DispatchMessage(&msg); 

} 





// WM_KEYDOWN 메세지 핸들러에서.. 

LRESULT CMyClass::OnKeydown(UINT uMsg, WPARAM wParam, LPARAM lParam, 

                            BOOL& bHandled) 

{ 

    // m_spWebBrowser is a data member of type IWebBrowser2. 

    // Using CComQIPtr in this way queries m_spWebBrowser 

    // for the IOleInPlaceActiveObject interface which is 

    // then stored in the pIOIPAO variable. 

    // 

    CComQIPtr<IOleInPlaceActiveObject, 

        &IID_IOleInPlaceActiveObject> pIOIPAO(m_spWebBrowser); 

    

    HRESULT hr = S_FALSE; 

    

    if (pIOIPAO) 

    { 

        MSG msg; 

        msg.message = uMsg; 

        msg.wParam = wParam; 

        msg.lParam = lParam; 

        

        hr = pIOIPAO->TranslateAccelerator(&msg); 

    } 

    

    return hr; 

} 


4.참고

http://msdn.microsoft.com/library/perio ··· 0499.htm



- 2001.08.13 Smile Seo -

"MFC" 카테고리의 다른 글
  • History ComboBox (0)2007/03/08
  • 입력 컨트롤에서 허용하는 문자를 제한하려면 (0)2007/03/08
  • WebBrowser 로 부터 키보드 메세지 가로채기 (0)2007/03/08
  • CDROM Insertion / Removal 감지하기 (0)2007/03/08
  • 연결 프로그램 찾기 다이얼로그 띄우기 (0)2007/03/02
2007/03/08 10:00 2007/03/08 10:00
Posted by webdizen
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2685

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 563 564 565 566 567 568 569 570 571 ... 3009  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • Web
  • 윈도우 모바일 7.0
  • 대학본부
  • MIDI
  • Regular Expression
  • 쿼리 디자인
  • 전처리
  • 음악 치료
  • 평점
  • 함수 포인터
  • SK Telecom
  • SystemTray
  • 인라인 값
  • Brand
  • random
  • 퇴계관
  • 마방진
  • OS
  • Desktop
  • Secure

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • Lots of students know techn....
    Bobbi35Shannon 02/25
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.