|
윈도우 핸들은 Application->Handle 로 얻어올 수 있습니다. 각 폼이나 컨트롤 (핸들을 가지고 있다는 가정하에) 도 모두 저런 방법으로 얻어오실 수 있습니다.
그리고, 자료를 하나 첨부하였는데, 시리얼 통신에 관한 컴포넌트 입니다. 꽤 안정적이고 좋더군요. DLL 파일도 필요없이 독립적인 실행 파일을 만들수도 있구요..
//---------------------------------------------------------------------------
#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)
{
HWND hdHandle = Application->Handle;
ShowMessage("내 핸들은 #" + IntToStr((int)hdHandle) + " 입니다");
}
//---------------------------------------------------------------------------
권기식 님이 쓰신 글 :
: 안녕하세요?
:
: 저희 학교 오픈랩에 이용할 프로그램을 만드려고 합니다.
: 비베로 만들어놓은 프로그램을 필요한 기능만을 골라서 빌더로 다시 만들어보려고 하는데요..
: 문제가 시리얼 통신을 해야 한다는 겁니다.
:
: 이리저리 알아보면서 API 함수를 써서 포트 열고 데이터 보내는 것 까진 했는데...
: 넘 복잡하고 어려워서 dll을 이용해서 만들려고 합니다.
:
: Sysbase 홈페이지에서 WinCom.dll을 받았는데...
: 빌더용 lib 파일을 만들고..
: 프로젝트 파일에 추가하고...
: 함수 임포트 하는데까지는 했는데..
: 포트를 초기화하는데 문제가 있습니다.
: 함수 원형이
: long initcom(HANDLE hwnd)
: 입니다.
: 현재 자신이 사용하는 윈도우의 핸들을 파라미터로 전달해야 하는데...
: 아직 윈도우 프로그래밍은 경험이 거의 없다시피하여서 핸들이라는 개념도 확실히 알지 못합니다.
: SysBase 홈페이지에 물어보려니 어디에도 그런 질문이 없더군요..
:
: 여긴 사용해보신 분들도 많을 것 같고...
:
: 파라미터로 넘기는 핸들은 어떻게 불러오나요?
: 어디에 정의되어있는지 통 모르겠습니다.
:
: 해보다가 안되면 비베로 다시 짜야겠습니다. ㅜ.ㅜ
:
: 앞으로도 계속 만들어야 하는데... 정말 답답하군요...
: 윈도우 프로그래밍 부터 공부해야겠다는 생각이 많이 듭니다.
|