-
[API] 09월 04일 수업내용 정리0x05 Programming/API / MFC 2009. 9. 4. 11:35
############## 0904 수업정리 ################## 타이머 설정방법 ############################################ 윈도우 안에는 시계가 많이 들어있다. 그리고 순서대로 타이머 번호가 나열되어있고 wParam에 타이머의 번호가 저장되어있다. 1초 간격으로 설정해놓으면 1초마다 알람이 울리고 끌때까지 지속된다 . Settimer() // 타이머를 설정하는방법 KillTimer() // 타이머를 죽이는방법 -------------------- SetTimer()사용법 ------------------- SetTimer(hWnd,①,②,③); ① 설정할 타이머의 번호 ② 메시지가 생성될 시간 간격을 1/1000초 단위로 지정 ③ 보통 이 값은 NULL..
-
[API] 08월28일 수업내용0x05 Programming/API / MFC 2009. 8. 28. 11:38
######### 08월28일 수업내용 ############ GetDC() , ReleaseDC() 사용법 WM_PAINT 메세지 WM_MOUSEMOVE 메세지 화면제어방법 두더지 Game GetDC : 파라미터는 hWnd 하나만 주면된다. // 화면제어 티켓을 얻는 함수 ReleaseDC : 파라미터는 hWnd , hdc 두개이다. // 화면제어가 끝났을때 호출 위의 방법대로만 사용하면 프로그램 창의 크기를 줄이거나 하면 내용이 지워지기때문에 그린내용을 다른 변수에 저장을 한다음 다시 그릴때 불러오면 된다. 그러므로 화면에 그려주는 것들은 따로 함수를 만들어서 WM_PAINT에 맵핑을 해주면 될것이다. -----------wsprintf() 사용법-------------- wsprintf(문자열을 넣..
-
[소켓프로그래밍] 클라이언트 예제0x05 Programming/Socket Programing 2009. 8. 3. 22:37
#include #include #include #include #pragma comment( lib,"ws2_32.lib") /*클라이언트 예제 */ void MyTemp() { WSADATA wsaData; if(0 != WSAStartup(MAKEWORD(2,2), &wsaData)) { printf("Fail \n"); } else { printf("Success \n"); } } int MyClient(char* ip,int port) { int re; int sid; struct sockaddr_in saddr; char msg[80]; MyTemp(); sid = socket(PF_INET,SOCK_STREAM,0); if(-1 == sid) { return -1; } memset(&sadd..
-
[소켓프로그래밍] 서버 예제0x05 Programming/Socket Programing 2009. 8. 3. 22:37
#include #include #include #include #pragma comment( lib,"ws2_32.lib") /*서버 예제 */ void MyTemp() { WSADATA wsaData; if(0 != WSAStartup(MAKEWORD(2,2), &wsaData)) { printf("초기화에 성공하지 못하였습니다. \n"); } else { printf("초기화에 성공하였습니다. \n"); } } int MyServer(int port) { int re; int size; int sid; struct sockaddr_in saddr; int cid; struct sockaddr_in caddr; char msg[80]; MyTemp(); sid = socket(PF_INET, SOCK..
-
[윈도우] 디바이스 드라이버 환경구축법0x05 Programming/Kelnel Programing 2009. 7. 28. 09:33
▣윈도우 디바이스 프로그래밍 환경구축 개발환경 : www.microsoft.com/whdc/devtools/ddk 다운 insmod툴 : www.rootkit.com/vault/hoglund/InstDrv.zip 다운 xconsole툴 : www.sysinternals.com에서 DebugView 다운 ▣TEST하기 c:\test폴더에 3개의 파일 생성 : test.c SOURCE MAKEFILE ///////////////////////////////////////////////////////////// test.c #include "ntddk.h" void OnUnload( IN PDRIVER_OBJECT DriverObject ) { DbgPrint("OnUnload called\n"); } NTS..
-
[Linux] 1. Device Driver0x05 Programming/Kelnel Programing 2009. 7. 28. 09:32
1. 디바이스 드라이버는 하드웨어와 응용프로그램을 중계한다 하드웨어마다 디바이스드라이버는 모두 틀림 응용프로그램에서 모두 다르게 다루기 힘듬 공통적인 인터페이스 필요 - 가상파일(VIRTUAL FILE)사용 2. OPEN(), RELEASE(), READ(), WRITE()의 기본연산 함수의 프로토타입을 선언 및 정의 3. -디바이스드라이버 타입을 정함 문자형 디바이스드라이버 : 문자하나로 다룸 블록형 디바이스드라이버 : 문자열로 다룸 -디바이스이름정하기 -major 버전정하기 -/dev/에 디바이스 링크를 만듬 mkmod /dev/디바이스명 c major_version minor_version 2.에서 선언한 함수의 주소를(함수포인터) struct file_operations 구조체에 담아서 디바이스체..
-
[리눅스] 2. 커널프로그래밍0x05 Programming/Kelnel Programing 2009. 7. 28. 09:31
▣정수배열 파라미터 1. 장소준비 int data[5]={0,}; int count=0; 2. 연결 module_param_array(data, int, &count, 0); 3. insmod my3.ko data=1,2,3,4,5 파라미터를 전달하면서 모듈을 올린다 ▣문자열 파라미터 1. 포인터선언 char* msg; 2. module_param(msg,charp,0); 3. 출력 printk 4. insmod my3.ko msg=adi89adk 파라미터를 전달하며 모듈을 올린다 ▣커널에서 사용할 수 있는 함수를 확인(모듈로 올라와서 사용할수 있게된 것) /proc/kallsyms