환경 변수를 통해 액세스되는 파일의 위치를 얻으려면 어떻게해야합니까? windows 명령 프롬프트에서 where
명령과 같아야합니다. 현재 _popen("where python","r");
을 사용하고 있지만 잠깐 동안 도스 창이 열립니다. 도스 창을 사용하지 않고 _popen
을 조사한 결과 CreateProcess
은이 간단한 것에 너무 과장된 것으로 보입니다.환경 변수를 통해 액세스되는 파일의 위치를 얻으십시오.
0
A
답변
4
SearchPath
은 파일에 확장자를 넣을만큼 적합합니다.
WCHAR buffer[MAX_PATH];
DWORD result = SearchPath(NULL, L"python.exe", NULL, MAX_PATH, buffer, NULL);
if (result > 0)
{
std::wcout << buffer << std::endl;
}
, 당신은 PATHEXT
환경 변수의 값을 모두 반복하고 각 하나를 시도 할 수 : 마찬가지로.
+0
오, 그게 내 제안보다 낫다. – Wheezil
-1
실행 파일에 LoadLibrary()를 사용하고 GetModuleFileName()을 사용하여 위치를 요청할 수 있습니다. 그러나 이것은 EXE가 모듈로 실제로로드되기 때문에 부작용이 있습니다.
그 외의 경우 search order of CreateProcess을 사용하여 직접 파일을 찾을 수 있습니다.
죄송합니다.이 옵션 중 하나라도 좋다고 생각하지 않지만, 다른 것을 찾을 수 없습니다.
관련 문제
- 1. 환경 변수를 통해 디렉토리를 찾을 위치를 ld로 지정
- 2. 외부 함수를 포함하는 Powershell 파일의 위치를 얻으십시오.
- 3. GPS/IP를 통해 iPhone의 위치를 얻으십시오.
- 4. 환경 변수를 통해 ssh 키 암호를 제공하십시오
- 5. 기본 클래스 변수를 통해 액세스되는 C#으로 보호 된 멤버
- 6. android sdk에서 위치를 얻으십시오
- 7. 환경 변수를 확인하기 위해 파일의 텍스트를 읽으십시오.
- 8. JNLP 파일의 인수로서 환경 변수를 구문 분석
- 9. IDE 용 __get을 통해 액세스되는 문서 변수
- 10. 렉서에서 실제 위치를 얻으십시오. 예를
- 11. IOS 위치를 얻으십시오
- 12. div의 최상위 위치를 얻으십시오
- 13. .length jquery의 위치를 얻으십시오
- 14. 포인터의 픽셀 위치를 얻으십시오
- 15. 안드로이드 위젯의 위치를 얻으십시오
- 16. 안드로이드의리스트보기에서 요소 위치를 얻으십시오
- 17. 사용자의 지리적 위치를 얻으십시오
- 18. Laravel 주문 위치를 얻으십시오
- 19. listfragment에있는 단추의 위치를 얻으십시오.
- 20. 환경 변수를 통해 소스 파일에 반짝이는 변수들
- 21. pdebuild를 통해 전달 된 환경 변수를 지우십시오.
- 22. 환경 변수를 통해 기본 alsa PCM을 선택하십시오.
- 23. python threading.Timer : 콜백 내부에서 액세스되는 변수를 보호해야합니까?
- 24. Word Vba 파일의 위치를 기반으로 문서에 대한 이미지를 얻으십시오.
- 25. 안드로이드 장치의 위치를 자동으로 얻으십시오.
- 26. Docker. 봄 응용 프로그램. 환경 변수를 설정하고 얻으십시오.
- 27. 현재 위치를 두 번 얻으십시오
- 28. JLabels의 2D 배열 위치를 얻으십시오.
- 29. 환경 설정을 사용하여 SharedPreferences를 얻으십시오
- 30. popen에서 환경 변수를 검색하십시오.
정말 위치가 필요합니까? 'where'가 반환하는 경로는 어쨌든 사용되는 경로입니다 (즉,'_popen ("python")'). – Cameron
저는 파이썬을 돌리려고하지 않고 있습니다. 저는 그것이 어디에 있는지를 찾으려고 노력하고 있습니다. 그리고 이것은 갈 길과 같았습니다. 나는 PATH에서 파이썬의 위치를 찾았지만 파이썬/스크립트가 있기 때문에 혼란 스럽다. – Auh