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

C++빌더 Q&A
C++Builder Programming Q&A
[42130] 답변 정말 감사드립니다...
해지는아침 [sky0510] 1243 읽음    2005-10-11 18:17
답변 감사 드립니다...
단축키 F10, F12등이 다른 프로그램 작동중(프로그램 비활성화중)에도 작동하는 원리를 배우고 싶어 전환을 부탁드렸습니다...  자료를 찾아보니 후킹이라는 것으로 되어 있던데요...
그래서 후킹 관련 자료를 보고 있습니다...  이참에 VC++도 기본적인 것은 공부해 두어야 겠다는 생각이 들고요.
.
아래 부분을 C++ Builder로 전환해 보고 싶어서 요청을 드렸습니다...
--------------------------------------------------------------------
hHook = SetWindowsHookEx(13,(HOOKPROC)::HookMouseProc,GetModuleHandle(NULL), 0);

LRESULT CALLBACK HookMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    HWND hwnd;
    LRESULT lResult = 0;
    if(nCode == HC_ACTION)
    {
        if(((EVENTMSG*)lParam)->message == VK_F10)
        {
            hwnd=FindWindow(NULL,ProgName);
            SendMessage(hwnd,WM_USER+4,1,1);
            return 1;
        }
        else if(((EVENTMSG*)lParam)->message == VK_F12)
        {
            hwnd=FindWindow(NULL,ProgName);
            SendMessage(hwnd,WM_USER+5,1,1);
            return 1;
        }
        else if(((EVENTMSG*)lParam)->message == VK_F8)
        {
            hwnd=FindWindow(NULL,ProgName);
            SendMessage(hwnd,WM_USER+6,1,1);
            return    1;
        }
    }

    return CallNextHookEx(hHook, nCode, wParam, lParam);
}
------------------------------------------------------------------------
답변에 거듭 감사 드리며, 나머지는 제가 한번 연구해서 해 보기로 하고요....혹시 간단히 전환되는 거면 리플달아 주시면 저야 좋은데, 넘 무리한 부탁 드리는 것 같아 자제하겠습니다...^^
좋은 하루 되셔요^^

최준호.스페로 님이 쓰신 글 :
: 안녕하세요 스페로 입니다.
:
: 이걸 완전히 C++빌더로 포팅 하느니 대강 만드러 봣습니다. 어짜피 세팅 UI라던지 여러 좌표를 파일로 저장한다던지
: 이런것들은 직접 작성 하시면 될거 같구요.
:
: 오토마우스라는게 어짜피 정해진 좌표로 마우스 이동시키고 누르기만 하면 되는 거라서...
: 아래와 같이 하면 됩니다.
:
: 일단 폼에 Edit를 3개 하나는 X구 하나는 Y그리고 하나는 타이머 인터벌
: 타이머 하나를 올려 놓습니다. 속성에서 Enable을 일단 false로 조정 합니다.
: 버튼을 두개 올려 놓습니다. 하나는 시작, 하나는 중지
:
: 중요한 코드는 마우스 커서의 위치 이동, 그리고 누르게 해주는 함수 두개만 쓰면 됩니다.
: 타이머 이벤트에 코드를 작성 합니다.
:
: 그럼 아래와 같은 코드가 되겠죠.
:
: 그럼 ~~
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
:   : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:   Timer1->Interval = Edit3->Text.ToInt();
:   Timer1->Enabled = true;
:
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Timer1Timer(TObject *Sender)
: {
:   SetCursorPos(Edit1->Text.ToInt(), Edit2->Text.ToInt());
:   mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, GetMessageExtraInfo());
:   mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, GetMessageExtraInfo());
:
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:   Timer1->Enabled = false;
: }
: //---------------------------------------------------------------------------
:
:
:
:
: 해지는아침 님이 쓰신 글 :
: : 오토마우스라는 프로그램을 짜 볼려고 시도하다가 잘 되지 않아 친구한데 프로그램 쏘쓰를 받았습니다.... 그런데 VC++로 짜여 있어서 초보에다 VC는 접해보지 않아 도통 모르겠습니다.
: : 고수분들 첨부한 파일을 BCB에서 쓸 수 있게 점 만들어 주셔요... 부탁드립니다.

+ -

관련 글 리스트
42121 [요청]vc++로 짜여진 프로그램인데요...누가 BCB로 바꿔 주셔요...제발 해지는아침 998 2005/10/09
42123     Re:[요청]vc++로 짜여진 프로그램인데요...누가 BCB로 바꿔 주셔요...제발 최준호.스페로 1250 2005/10/10
42130         답변 정말 감사드립니다... 해지는아침 1243 2005/10/11
42135             Re:답변 정말 감사드립니다... 최준호.스페로 1435 2005/10/12
42136                 Re:Re:덕분에 시원하게 해결됬습니다. 해지는아침 1945 2005/10/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.