Self Extractor 배포 프로젝트에 %appdata% Path를 구하기 위하여
아래와 같이 ShlObj_core.h 의 SHGetKnownFolderPath 함수 사용시에 , 백신에서는 해당 프로세스를
바이러스로 감지 하였습니다 -_-;;
wchar_t *wszPath;
if (SHGetKnownFolderPath(FOLDERID_RoamingAppData, 0, NULL, &wszPath) != S_OK) {
std::cout << "디렉터리 정보 얻기 실패" << std::endl;
}
std::wstring wstrPath(wszPath);
std::string strPath(wstrPath.begin(), wstrPath.end());
strPath += "\\AgentTest\\AgentTest.exe";
std::cout << strPath << std::endl;
fileapi.h 의 GetTempPath 함수 사용시에는 바이러스로 감지 하지 않았습니다.
GetTempPath의 경우 , 사용자계정\Local\Temp 이므로 , Roaming으로 접근하기 위하여
rfind 함수로 시작 위치를 찾아 Roaming 문자열을 결합 하였습니다.
std::string strAgentPath = GetAppDataTempPath();
// \LOCAL\TEMP\ 를 변경
std::transform(strAgentPath.begin(), strAgentPath.end(), strAgentPath.begin(), ::tolower);
strAgentPath = strAgentPath.substr(0, strAgentPath.rfind("\\local\\temp\\"));
strAgentPath = strAgentPath + "\\Roaming\\AgentTest\\AgentTest.exe";
std::string GetAppDataTempPath() {
TCHAR szTempPath[MAX_PATH];
GetTempPath(MAX_PATH, szTempPath);
return szTempPath;
}
'C++ > MFC' 카테고리의 다른 글
RegOpenKeyEx 32bit 응용프로그램에서 64bit Registry 접근 예제 (0) | 2023.06.22 |
---|---|
[MFC] WAS서버에 POST 파라미터 전송 시에 한글 깨짐으로 인하여 URLEncode 처리 구현 테스트 진행 (0) | 2023.03.02 |
C++에서 COM , COM+ 메서드 호출 예제 (0) | 2021.02.07 |
컴파일시에 winmain.cpp 파일에 if (!pThread->InitInstance()) 에러 발생시 조치 방안 (0) | 2018.12.13 |
[MFC] 빌드시 관리자 권한으로 실행하는 방안 (0) | 2016.12.11 |