본문 바로가기
반응형

전체 글304

VEH (Vectored Exception Handling) 참조1 : http://msdn.microsoft.com/en-us/library/ms681420(v=VS.85).aspx 참조2 : http://blogs.msdn.com/b/zhanli/archive/2010/06/25/c-tips-addvectoredexceptionhandler-addvectoredcontinuehandler-and-setunhandledexceptionfilter.aspx VEH는 SEH의 확장된 개념으로써, 프레임 기반이 아니기 때문에 어떠한 곳에서든지 핸들러를 추가할 수 있다.  1.SetUnhandledExceptionFilter LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVE.. 2011. 8. 15.
SEH(Structured Exception Handling) 참조 : http://msdn.microsoft.com/en-us/library/swezty51(v=VS.71).aspx 비동기적으로 아무 때나 발생가능한 인터럽트와 달리 실행 중인 프로그램의 직접적인 실행 결과로 발생하는 예외를 처리하기위하여 윈도우는 어플리케이션이 예외 발생시 제어를 받을 수 있도록 SEH를 사용한다. SEH는 시스템 메커니즘으로서 프로그램 언어 한정적인 것이 아니라 것에 유의해야한다. ※여기에서는 C를 기준으로 사용법을 기술한다. SEH는 기능적 특성에 따라 Termination Handler와 Exception Handler 두 가지로 나뉜다.  1.Termination Handler Termination Handler는 __try와 __finally 키워드로 구성되며 __try.. 2011. 8. 15.
strrstr 함수 구현 (문자열 역순 탐색 함수) -strstr 함수와 유사하게 문자열을 탐색하나 역순으로 탐색한다. #include #include char* strrstr(char* str,char* ptn){ unsigned int ptnlen=0; unsigned int i=0; unsigned int j=0; char* offset=-1; //패턴 문자열 길이 획득 (인덱스로 사용하기 위해 1 감소) ptnlen=strlen(ptn)-1; //문자열의 오른쪽부터 비교 시작 for(i=strlen(str)-1;i != 0;i--){ //문자열의 현재 위치 문자가 패턴 문자열의 마지막 문자와 일치 하는지 확인 if(str[i] == ptn[ptnlen]){ //패턴 문자열이 1 글자이면 오프셋 값 저장하고 리턴 if(ptnlen == 0){ off.. 2011. 7. 20.
티스토리 블로그 배경음악 넣기 -아직 티스토리는 글 내부에 BGM 넣는 기능만 제공하는 것 같아 외부사이트를 이용해서 BGM을 설정해 보았다. 장점 : 직접 HTML 소스를 수정할 필요가 없어 스킨을 잘못 건드리는 것을 예방 단점 : 사이드바에서 제거시 새로 등록해야 함 장점 : BGM Player를 여러개 등록 후 쉽게 넣었다 빼는 것이 가능 단점 : 소스를 직접 수정해야해서 잘못건드리면 스킨을 망칠 수도 있음. 1.http://www.mixpod.com 에 접속하여 가입 2.음악을 검색하여 BGM으로 넣을 곡들을 추가 ※가끔 한글이 깨져 검색이 안될때는 맨 첫 화면에서 검색하면 제대로 검색이 가능 3.모든 음악을 추가하였으면 Create Playlist 버튼을 클릭 4.Customize 버튼을 클릭한 뒤 마음에 드는 스킨을 선택 .. 2011. 7. 5.
프로세스 리스트 얻기 -프로세스 리스트를 얻어와 프로세스 리스트를 구조체에 저장한다. -PLIST : 프로세스 경로, PID 값을 가지는 간단한 이중 연결리스트 구조체 -DeleteProcessList : 프로세스 리스트를 제거한다. -GetProcessList_TI : TlHelp32를 이용한 프로세스 리스트 획득 함수 (히든 프로세스 탐지 불가능) -GetProcessList_BF : Psapi를 이용한 프로세스 리스트 획득 함수 (Brute Force식 PID 탐색을 통한 히득 프로세스 탐지 가능) #include #include #include #define BUFSIZE 512 /** 프로세스 리스트 저장 구조체 **/ struct _PLIST{ char path[BUFSIZE]; int pid; struct _PL.. 2011. 7. 4.
프로세스 제거하기 -인자로 전달된 PID를 가지는 프로세스를 종료한다. #include int KillProcess(int pid){ HANDLE hProc; hProc=OpenProcess(PROCESS_TERMINATE,FALSE,pid); if(!hProc){ return GetLastError(); } TerminateProcess(hProc,0); CloseHandle(hProc); return 0; } 2011. 7. 4.
반응형

바로가기