반응형

이전 회사에서 좀 알라고!! 3

일부 윈도우 사용자에게 FreeLibrary가 안 먹을 경우..

살다살다 일부 사용자에게 FreeLibrary가 안 먹는 경우는 처음봤다. 뭔가 특수한 문제여서 설정 문제라고 판단은 했는데... 레지스트리가 또 통수를 칠 줄이야... 일단 확인할 경우는 아래와 같다. 컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 위 경로는 상황에 따라 로컬머신 경로도 확인해야 한다. 여튼... 해당 경로는 호환성 관리자에 대한 설정들을 저장하고 있는데... 값으로 IgnoreFreeLibrary가 박혀있었다. 아... 세상에 저런 값은 듣도보도 못했는데 저러니 해제가 안되지 라는 생각이 들었다. 하지만 또 하나 의문이 있다. 도대체 프로그램에 특별히 호환성마법사를 기동한 ..

ReadProcessMemory와 SharedMemory를 응용한다면...

어느 프로젝트를 진행하다보니 프로세스 간 값을 주고 받아야 하는 방법이 필요했다. 좀 많은 데이터를 주고 받기에 통신 부하는 아닌 것 같아 내부 Shared Memory를 이용해서 무언가를 할 수 없을까 생각했다. 하지만 검토한 결과 직접 주소를 주고 받아서 처리하기는 어려운 것으로 판단됐다. 그리고 4GB의 제약이 있는 것으로 알고 있다. 그래서 Shared Memory에 데이터를 직접 넣는 것도 꽤 부담이 되어 포인터를 줘서 뭔가 할 수 있는 방법이 없나 고려해봤다. 관련 기술을 검토한 결과 Windows 쪽엔 - OpenProcess - ReadProcessMemory 를 이용하여 값을 읽어올 수 있음을 확인했다. ReadProcessMemory를 이용한 다른 프로세스 값 읽기, 자막 켜고 보시길...

반응형
LIST