창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 지상현2006-07-11 00:28:08, Hit : 6466
[CELK] 창조로 간단한 신호 보내기
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=290
적용 DLL 라이브러리
목적 DLL에서 창조 프로그램으로 간단한 신호를 보내, 사건처럼 사용할 수 있게 한다.
장점 창조에서 제공하는 사건에서 바로 받아 처리할 수 있기 때문에 사용하기 편리하다.
단점 간단한 숫자 코드밖에 보낼 수 없다.

DLL에서 사용법
DLL에서는 다음과 같은 방법으로 창조로 신호를 보낼 수 있다.
아래 함수를 이용하면 편리하다. 신호로 보낼 수 있는 숫자 코드는 130~254 의 범위를 갖는다.





[C++]

void SendSignal(HWND hWnd, DWORD dwUserCode)
{
    SendMessage(hWnd, WM_CHAR,
0x81, 0x01000000);
    SendMessage(hWnd, WM_CHAR, dwUserCode,
0x01000000);
}





[Delphi]

{ Windows, Messages 유닛 필요 }
procedure SendSignal(hWnd: HWND; UserCode: Cardinal);
begin
    SendMessage(hWnd, WM_CHAR,
$81, $01000000);
    SendMessage(hWnd, WM_CHAR, UserCode,
$01000000);
end;

이제, 창조로 신호를 보내야 할 필요가 있을 때(예를 들어 이벤트가 발생했다든지), 이 함수를 호출하면 된다.

hWnd - 보내고 싶은 창조의 창 핸들이다.
UserCode - 보내고 싶은 코드이다. 130~254 범위 안에서 보내야 한다.



창조에서 사용법
창조에서는 다음과 같은 방법으로 신호를 받는다.
신호를 보내면, 창에서는 "자판을 눌렀을 때" 사건이 발생한다.
다음과 같은 방법으로 처리할 수 있다.





// 자판을 눌렀을 때
만일 (_키 = 170) {
    문자창보여("신호를 받았습니다!");
}

여기서 170 이란 숫자는, 신호를 보내기로 되어 있는 DLL과 함께 미리 정해준 것이다.
DLL에서 170 이란 코드로 신호를 보내기 때문에, 창조에서는 170 인 코드만 처리하면 된다.

이런 식으로 상당히 깔끔하게 신호를 줄 수 있다.



응용
이 방법으로는 숫자 하나밖에 주지 못하지만, 더 주고 싶은 데이터를 DLL이 가지고 있다가, DLL 함수에 마지막 이벤트의 결과를 얻는 함수를 만들어 넣고 창조에서 그것을 호출해 결과를 받도록 하면 충분히 다른 데이터도 보낼 수 있다.


우려
창에서 자판을 눌러도 이 사건이 발생한다.
=> "자판을 눌렀을 때" 사건은 항상 아스키 영역에서만 발생한다. 즉, 적어도 자판을 눌러서 이 사건이 발생하면 항상 _키의 값이 128보다 작은 숫자가 나온다.
한글 모드에서 자판을 누르면 128보다 큰 수가 잡힌다. => 가능성이 있다. 한글을 입력하면, 한글 2 바이트가 두 개로 쪼개져서 사건이 2번 발생한다. 단, 이 문제를 해결하기 위해 항상 신호를 보내기 전에 129 번 코드를 보낸다. 그러므로 129 번 바로 다음에 오는 코드는 DLL에서 보낸 코드라고 확신할 수 있다. 한글이나 기타 다른 문자를 입력했을 때, 129로 시작하는 문자 코드는 없다.


작성 날짜
2006년 7월 11일 화요일 12시에 처음으로 작성함.

박종훈   2006-07-11 PM 6:11:25  
창조 클립보드 DLL에 쓰인 방법이군요 ^^
음.. 메시지를 DLL에서 잡아서, 해주면 좋은데..
메시지를 잡는 부분을 봐서, 해봐도, 성공은 했긴 했는데, 다시 해보니 안되던;

창조의 발전을 위해 우리모두 힘을 ^^
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
142
   '핸들' 속성없는 객체의 핸들 얻기 ^^..; [4]
박종훈 2006/04/16  4897
141
   질문게시판에서 답변 잘 받는 팁(?) [2]
박종훈 2006/04/21  4429
140
   로그오프하기.. [이게 팁이야!!] [3]
박종훈 2006/04/23  5187
139
   최근 열어본 문서 지우기... [4]
박종훈 2006/04/29  7113
138
   창조에서 핸들 다루기 - 꼭 알아두어야 할 중요한 사항 (rev.1) [3]
지상현 2006/05/21  5815
137
   리스트박스 가지고 놀기! [5]
지상현 2006/05/27  6617
136
   작업표시줄에서 프로그램 완전히 숨기기! [1]
지상현 2006/06/06  8314
135
   숫자만 입력하게 하기 ^^ [6]
박종훈 2006/06/06  5312
134
   창조의 구문강조를 html에 쉽게 적용하자.. [3]
변혁수 2006/06/21  4829
133
   ㅎ문자열:즐; 사용하기 ㅋㅋ [7]
박종훈 2006/07/08  5953
132
   원리를 이해하면 쉽게 프로그래밍을 할수있다~ [2]
우유중독 2006/07/09  4914
131
   모니터 대기모드하기 ─ ─ㅋ
박종훈 2006/07/09  5402

   [CELK] 창조로 간단한 신호 보내기 [1]
지상현 2006/07/11  6466
129
   자기창이 잠깐동안 맨 위로 올라오게 하기 [5]
박종훈 2006/07/17  5307
128
   모든 입력 막기 ㅋ [2]
박종훈 2006/07/17  5180
127
   반복에서, '까지'는, 문법검사를 안한다!? [3]
박종훈 2006/07/20  5378
126
   [버그 보고] 문자표 사용할 때 주의할 점! [3]
지상현 2006/07/22  5540
125
   메모 가지고 놀기! [3]
지상현 2006/07/25  5756
124
     [re] 메모 가지고 놀기! [주의사항] [1]
박종훈 2006/07/25  5408
123
   XP처럼, 암호를 * 대신 ● 로 표시하기 ㅋ [3]
박종훈 2006/07/25  6511
122
   [ㅎ메모] 단어구분[자동줄바꿈] 속성에 주의하자! [5]
박종훈 2006/08/10  7414
121
   [영상강좌]창조 메뉴 관리창 완전정복!! [12]
손상진 2006/08/03  5061
120
   [대박!] 메모리 사용률 확! 줄여보자 ㅋ [5]
박종훈 2006/08/12  6352
119
   창조를 위한 창조도움말 유저가이드-_-; [3]
박종훈 2006/08/26  5339
118
   API에 쓰이는 상수 값 쉽게 알아내기 [1]
지상현 2006/09/24  5672
LIST ALL   Prev [1][2][3][4][5][6][7][8] 9 [10]..[14] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인