반응형 분류 전체보기861 클립보드(Ctr+C) #include #include void main() { char buf[256] = {0}; while(1) { printf("클립보드로 전송할 메세지를 입력하세요 : "); gets(buf); //*************************************************** //클립보드로 전송할 이동가능한 메모리를 할당. HANDLE hData = GlobalAlloc(GMEM_MOVEABLE,256); //핸들기반의 이동가능 메모리를 포인터로 변경한다. char * pData = (char *)GlobalLock(hData); strcpy(pData,buf); GlobalUnlock(hData); //***********************************************.. 2007. 1. 22. WM_COPYDATA #include #include LRESULT CALLBACK WndProc(HWND hwnd,UINT iMessage,WPARAM wParam,LPARAM lParam); TCHAR lpszClass[] = TEXT("first"); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmdLine, int nShowCmd) { AllocConsole();//콘솔창 생성 freopen("CONOUT$",//콘솔을 "wt",//text write모드로 stdout);//stdoutrhk 연결 //EnumFiles("C:\\"); MSG Message; //1. 위도우 클래스 만들기 (10가지를 다 정확히 입력하지 않으면 화면이 뜨지 않는다... 2007. 1. 22. 테이티브 API/NativeAPI 윈도우 2000 아키텍쳐 kernel32.dll에 CreateFile()이 있다. Ntdll.dll이라는 파일이 있다. 위의 dll은 사용자 공간에 있다. kernel32.dll의 CreateFile()을 부르면 Ntdll.dll이라는 파일의 NtCreateFile()함수를 부른다. 여기까지가 Win32 API공간이다. Ntdll.dll에는 천여개의 함수들이 있는데 API가 사용한다고 해서.. NativeAPI라고 한다. 윈도우 2000의 운영체제 파일은 NTOSKRN.exe 이다. 이 안에 들어있는 ZwCreateFile()함수를 불러서 하드에 파일을 불러들이는 것이다. Win32에서 커널공간을 부를수 있는 문을 cllgate라고 한다. 윈도우에선 Int2E 리눅스에선 Int80 Win32에서는 네이티.. 2007. 1. 22. 예외처리/GetExceptionCode() #include #include int n = 0; void main() { int s; __try {/* s = 10 /n; printf("결과 : %d\n",s); */ char *p = 0; *p = 'a';//access violation(잘못된 메모리 참조) 결국 0xc00000005번 예외 } __except(1) { printf("예외발생 : 0x%0x\n",GetExceptionCode()); //에러 코드를 알고자 할때 GetExceptinCode(); } printf("프로그램 계속 실행\n"); } /*위 코드는 죽는다. 왜 죽을까?? 10을 0으로 나누는 명령은 DIV 10,0이다. CPU는 0으로 나눌수 없다는 것을 알고 트랩을 발생한다. ※트랩 : 인터럽트와 비슷하나 CPU가 발.. 2007. 1. 22. 이전 1 ··· 202 203 204 205 206 207 208 ··· 216 다음 반응형