sub_image

c# 다운로드 폴더

2018.05.1

나는 내가 FTP 폴더의 내용을 다운로드할 수 있게 하 고 그때 명시 된다면 그들을 지워라 클래스에 (서) 2 가지 방법을 만들었다. 코드가 의도 한 대로 작동 하지만 난 그 게 방대 하 게 부풀어와 나는 그것을 해결 하기 위해 방향을 찾고 있어요 생각 합니다. 당신이 볼 수 있듯이, 그것은 (필자는 목록에 없는) 긴 guid 문자열 배열에서 인덱스로 열거형 값과 관련 된 GUID를 가져옵니다, 기본 경로를 얻을 수 있는 올바른 플래그, 또는 폴더를 만들거나 현재 경로 (s .를 가져옵니다. nd는 일반 .net 문자열로 검색 된 경로를 반환 합니다. 그냥 당신이 그것을 원하는 방법! (면책 조항: 필자는 가져온 shgetknownfolderpath 함수를 별도의 “nativemethods”와 같은 클래스를 Microsoft에서 권장 하는 것으로 두지 않았습니다 .이 기능은 단순하게 하기 위한 것입니다.) 내가 거기에 너무 많은 FTP 연결 단일 파일을 이동 (3 내가 믿는-목록 디렉토리, 다운로드 파일, 파일을 삭제) 개설 믿습니다. 나는 약간 이것을 세련 하는 방법 불확실 하다. winapi 메서드 shgetknownfolderpath는 개인 및 다운로드 폴더를 포함 하 여 특수 폴더의 경로를 검색 하는 유일한 올바른 방법입니다. 말했듯이, 이전 shgetfolderpath 함수에 직접 래퍼를 구현 하 여 XP 및 이전 버전과 호환 되는 래퍼를 가져와야 합니다. 그 기능을 실제로 Windows Vista 이후 버전에서 shgetknownfolderpath에 그냥 래퍼, 그리고 개인적으로 10 년 오래 된, 지원 되지 않는 시스템에 대해 더 이상 상관 없어, 하지만 당신은 특별 한 폴더와 특별 한 고객으로 인해 할 수 있습니다. 그러나 XP를 위해, 다만 충분히 좋을 지도 모 르다. 과거에는, 대부분의 사람들은이 2 개 및 틀린 해결책으로를 위한 경로를 얻기 위하여 갔다-할말-다운로드 폴더를 시키십시오. 처음에는 시스템.

getfolderpath ()와 비슷한 함수가 있는 정적 클래스 knownfolders가 있습니다. 메서드를 사용 하 여 경로 수정과 같은 추가 기능을 제공 하 고 모든 사용자 (필요한 권한이 있는 경우). 그러나, oh 기대, 그것은 또한 이름 “를 가진 불길 한 열쇠를 포함 한다! 이 레지스트리 키를 사용 하지 마십시오 “및 값” 대신 사용 하는 shgetfolderpath 또는 shgetknownfolderpath 함수 “. 도대체이 열쇠는 나에 게 서 원하는 무엇입니까? 대부분의 .net 개발자는 단순히 그것의 도움이 경고를 차단 “난 shgetfolder발음 수 없습니다 뭐 든, 내가 그냥 이미이 키를 사용 하자, 지금까지 있어, 난 오늘이 일을 좀 해야 합니다.”. 결국, 그들은 “HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell 폴더”에 착륙 했습니다. 열쇠는 실제로 유망 보인다, 그것은 사용자 폴더에 대 한 모든 경로를 포함, 심지어 리디렉션된 경로 (내 모든 D 파티션에 당신이 볼 수 있는): 이후 몇 년, 다시 Windows 98까지 내가 기억 하 고, 사용자가 자신의 홈 디렉토리에 특수 폴더가 “내 문서”, “내 음악”, “내 사진” 또는 “내 동영상” 이라고 합니다. 이들은 XP까지 상대적으로 본래 이라고 유지 되 고, 그들의 경로는 쉽게 만회 되었다: 간단 하 게 체계를 부르기. 함수를 호출 하 고 열거형이 내 문서, mymusic, mymictures 등등에 대 한 항목이 포함 되어있습니다. 현재 사용자의 다운로드 폴더 경로만 필요한 경우이를 사용할 수 있습니다.

마지막으로 관심의 실제로 궁극적으로 winapi: 문자열 다운로드를 호출 하는 마술을 않는 knownfolder 클래스의 개인 기능이 될 수 = 환경 변수 (“USERPROFILE”) + @ “” + “다운로드”; 다행히 당신을 위해, 당신은이 codeproject 문서를 발견, 그리고 이러한 기능을 주위에 내 “래퍼” 여기 게시.