Thread, Process ID & Handle
윈도우즈용 응용프로그램, ActiveX, DLL, Windows Service 등을 만들기 위해서 알아두어야 할 기본적인 지식들
출처 : http://radrome.springnote.com/pages/2213794
윈도우, 프로세스, 모듈
- 핸들, ID, 파일이름
파일이름 만으로 전체 경로 얻기 GetFullPathName( sFileName, _MAX_PATH, sFullFull, 0);
-> 문제 : 현재 경로에 파일름만 붙인다.
GetFullPath()(만듬) : 파일일 현재 실행된 파일의 경로에 있는 검사해서 붙인다.
* 윈도우
윈도 Instance : (SDK) GetWindowLong(hWndCur, GWL_HINSTANCE), (MFC)HINSTANCE AfxGetInstanceHandle();
현재 Window Handle : GetCurrentWindowHandle(만듬)
Process Handle (ID) -> Window Handle : HWND GetWindowHandleFromProcessId(DWORD dwProcId) (만듬)
* 프로세스
현재 Process Handle : HANDLE GetCurrentProcess(VOID);
현재 Process ID : DWORD GetCurrentProcessId(VOID);
프로세스(모듈) 파일 이름 : GetModuleBaseName(hProc, 0, sNameOnly, _MAX_PATH);//이름만
GetModuleFileName(0, sFullPath, _MAX_PATH);//전체경로
Win Handle -> Process Handle : GetWindowThreadProcessId
OpenProcess, CreateProcess
Process ID -> Process Handle : GetProcessId() , API인데 MSDN 설명이 안나옴
GetCurrentProcessorNumber() ??
GetCurrentActCtx()??
* 모듈
현재 Module Handle : GetCurrentModule(만듬)
파일이름 -> 모듈핸들 : GetModuleHandle();//현재 프로세스에서만 작동
특정프로세스 안에 있는 모듈 핸들 GetModuleHandle()(만듬), 외부 프로세스에서 작동
모듈ID -> 모듈 핸들 :
* 쓰레드
현재 쓰레드 핸들 : GetCurrentThread()
현재 쓰레드 ID : GetCurrentThreadId()
'IT-개발,DB' 카테고리의 다른 글
[oracle] 오라클 에서 사용되는 sql문 정리 (0) | 2012.09.25 |
---|---|
[개발/VC++] HINSTANCE & HWND의 차이 (0) | 2012.09.25 |
[개발/VC] 레지스트리 키 열기, 닫기, 목록 가져오기, 키 값 가져오기 (0) | 2012.09.20 |
[개발/MFC] 프로세스 강제 종료 두번째 (0) | 2012.09.20 |
[IT/가상] 버추얼박스 디스크 용량 줄이기 (0) | 2012.09.17 |
댓글