C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21102] 감사합니다 (-.-)(_._) 그런데요.
이영우 [] 892 읽음    2002-08-30 09:11
snapshot은 안써도 되는건지?
꼭 써야합니까?

새더군 님이 쓰신 글 :
: 안녕하세요
:
: 다른 프로세스의 메모리 읽어 오는 부분과 쓰레드는 별 상관이 없습니다.
: 쓰레드는 원래 CPU 스케쥴링의 문제이니깐요..
:
: Snapshot 은 말 그대로 현재 내 컴퓨터에서 돌아가는 쓰레드, 프로세스, 메모리 영역의
: 스냅샷을 찍는것을 말합니다.
: 즉, 현재 돌아가고 있는 프로세스들과 그 프로세스에서 사용하는 쓰레드들, 불러들인
: 모듈의 어드레스 등등을 모두 담고 있는것이죠.
: CreateToolhelp32Snapshot 라는 펑션을 참조해 보세요
: 그 스냅샷을 만들어주는 펑션입니다.
:
: 그리고 프로그램의 전체 흐름은 틀리지 않습니다.
:
:
: : 1. 캡션으로 해당 pg 핸들을 찾는다
: :    HWND handle = FindWindow(0,"계산기");
: : 2. 해당 pg의 프로세스 ID를 얻는다.
: :    GetWindowThreadProcessId(handle, &processID );
: : 3. 프로세스 오픈
: :    processHandle = OpenProcess(PROCESS_ALL_ACCESS,FALSE,processID);   
:
: 프로세스의 사이즈를 파악한다기보다.
: 현재 OS 에서 어플리케이션이 사용할수 있는(사용자가 직접 손댈수 있는) 메모리 영역의
: 최소값과 최대값을 가져오고 있는것이죠
:
: : 4. pg 싸이즈를 파악한다.
: :    GetSystemInfo(&sysInfo);
: :    baddr = sysInfo.lpMinimumApplicationAddress;
: :    memset(&mbi,0,sizeof(MEMORY_BASIC_INFORMATION));
: :    VirtualQueryEx(processHandle,badd....)
: :    memoryStart=sysInfo.lpMinimumApplicationAddress ;
: :    memorySize=sysInfo.lpMaximumApplicationAddress ;
: : 5. for문으로 해당 pg에서 원하는 부분을 찾는다.
: :    ReadProcessMemory(processHandle,(void *)i,(LPVOID)&v,4,&size);
: : 6. close 핸들
:
: 그럼 좋은 하루 되세요..

+ -

관련 글 리스트
30438         Re:Re:프로세스에 관한 질문입니다. 서정국.새더 948 2002/08/29
30437         Re:Re:프로세스에 관한 질문입니다. 서정국.새더 873 2002/08/29
21102         감사합니다 (-.-)(_._) 그런데요. 이영우 892 2002/08/30
21118             Re:감사합니다 (-.-)(_._) 그런데요. 새더군 709 2002/08/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.