하스켈을 사용하여 버전에 관계없이 Window AppData 폴더의 위치를 얻으려고하고 있는데 문제가 있습니다. System.Win32.Registry 라이브러리를 사용해 보았습니다. (시행 착오 후) 아래 코드를 얻을 수 있었지만, regQueryValueEx
또는 다른 함수를 사용하는 방법을 알 수 없었습니다. 내가 필요한 가치. 하스켈에서 로컬 AppData 폴더 받기
import System.Win32.Types
import System.Win32.Registry
userShellFolders :: IO HKEY
userShellFolders = regOpenKeyEx hKEY_CURRENT_USER "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\\" kEY_QUERY_VALUE
나는 또한 System.Directory 모듈의
getAppUserDataDirectory
함수에 대한 소스 코드를보고했는데, 그 중 하나가 나에게 도움이되지 않았다.
아마도 내가 누락 된 쉬운 방법이 있습니다.
대단히 감사합니다. – Alasdair
문서화 된 방법이 아니며 작동하는 Windows가 불분명합니다. 그것은 Alasdairn이 이미 가지고 있던 것과 가장 가까운 것이지만, API 솔루션이 더 좋습니다. – MSalters
나는 Alasdair가 이미 가지고 있었고 다른 Api 호출을 찾지 않았다. 어쨌든, 별도의 API를 사용하지 않는 다른 레지스트리 값을 읽으려는 다른 사람들에게 유용하기 때문에 삭제하지 않겠습니다. – sth