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
[21090] 프로세스에 관한 질문입니다.
이영우 [userof] 750 읽음    2002-08-29 15:51
막연한 질문입니다.
책없이 단순히 인터넷으로만 공부하다보니 기본이 없어서..
프로그램을 제대로 이해하지 못하고 있습니다.
직장에서는 코볼하구요. -.-

메모리상에 상주하고 있는 어떤 프로그램의 메모리를 읽어서
원하는 값을 찾는 프로그램을 만들어 보고 있습니다.
델마당 등에서 알아낸 정보를 바탕으로 여기까진 만들었는데..
뭐가 잘못됐는지 알고 싶습니다.


1. 캡션으로 해당 pg 핸들을 찾는다
   HWND handle = FindWindow(0,"계산기");
2. 해당 pg의 프로세스 ID를 얻는다.
   GetWindowThreadProcessId(handle, &processID );
3. 프로세스 오픈
   processHandle = OpenProcess(PROCESS_ALL_ACCESS,FALSE,processID);   
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 핸들


틀린부분이나 쓸데없는 코드..를 알고 싶습니다.

그리고, 프로세스가 멀티쓰레드를 가지고 실행될때도
위 코드에서 어떻게 동작될지 알고 싶습니다. 처리되는지요..
snapshot이라는게 멀티쓰레드를 처리하기 위한 방법인지...

더불어.. win32 api 전 함수가 설명과 함께 망라된 홈페이지 좀 알려주시면 매우
감사하겠습니다. 리소스에서 받아 설치한 6버젼에는 오류가 발생하거나 없는 함수가 있네요.

+ -

관련 글 리스트
21090 프로세스에 관한 질문입니다. 이영우 750 2002/08/29
21097     Re:프로세스에 관한 질문입니다. 새더군 991 2002/08/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.