2012-01-27 2 views
3

대체 데이터 스트림을 사용하는 일부 파일이 있으며 Windows 탐색기에 표시되지 않습니다. 쉘 익스텐션이나 백그라운드에서 실행되는 프로그램을 만들고 싶습니다. 윈도우 탐색기를 사용하고 대체 데이터 스트림 파일이있는 폴더로 이동하면이 파일을 Windows 탐색기에 표시하지만 오버레이 아이콘이 표시됩니다.Windows 탐색기 대체 데이터 스트림 셸 확장

이것이 가능합니까? 확인할 샘플 코드가 있습니까?

고마워요.

+1

다시 말해, 쉘이 가상 항목을 디렉토리에 추가 할 수 있음을 인정하는 것 같지는 않습니다. 이제는 가상 네임 스페이스가 가능할 수도 있지만 실제 디렉터리에 대해서는 의심 스럽습니다. –

+0

하지만 Windows 탐색기에서 대체 데이터 스트림 파일을 표시하는 방법은 무엇입니까? –

+0

David, 오버레이 아이콘이 가능합니다. 그들은 실제 항목을 디렉토리에 추가하고 싶지 않습니다. – Joey

답변

1

StrmExt이라는 Microsoft에서 제공하는 셸 속성 시트 처리기가 이미 있습니다. Windows 2000, Windows XP, has to be recompiled for 64 bit versions of Explorer 용으로 작성되었지만 C++ 소스 코드가 포함되어있어 최소한 시작할 곳을 제공해야합니다.

Windows Vista에서 두 개의 새로운 API 함수가 도입되어 대체 데이터 스트림 열거 (FindFirstStreamWFindNextStreamW)를 쉽게 열거 할 수있었습니다. 이 함수들은 수년간 Win32에 있던 다른 FindFirstXFindNextX 유형 함수와 매우 유사하게 작동합니다.

1

Windows 탐색기 x64에서 작동하는 최근의 또 다른 옵션은 AlternateStreamExtension입니다. 또한 아이콘 오버레이를 제공합니다.

here을 찾을 수 있습니다.

+0

그러나 불행히도 Windows 10에서는 작동하지 않습니다. PowerShell을 통해 설정된 스트림을 보려고 할 때 DLL 오류가 발생합니다. – seagull

+0

@ seagull : Windows 10 x64에서 지금 사용해 보았습니다 : 저의 매력처럼 작동합니다. 어쩌면 당신은 32 비트와 64 비트 DLL을 혼합했을까요? – Jinxed

+0

아니요, 올바른 DLL을 설치했습니다. 몇 가지 정보를 볼 수 있지만 두 번째는 정보를 16 진수로 봅니다. 예를 들어 충돌합니다. – seagull

관련 문제