2010-02-23 2 views
4

안녕하세요 누구든지 Windows 탐색기에서 여러 파일/폴더를 외부 응용 프로그램 (C#)에 전달하여 레지스트리에서 참조하는 방법을 알고 있습니까?Windows 탐색기에서 여러 파일/폴더를 외부 응용 프로그램에 전달하십시오.

% 1 구문을 사용하여 하나의 파일/폴더를 처리 할 수 ​​있지만 현재 탐색기에서 여러 항목을 통과시키는 방법을 모르겠습니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

+1

당신이 생각 해 봤나 드래그를 사용하여 드롭 수 있을까? – jdigital

+0

안녕하세요, 그렇습니다. 필자는 이것을 고려했지만 탐색기에서 컨텍스트 메뉴를 사용하는 것을 선호합니다. – Grant

+0

http://stackoverflow.com/questions/9355/programatically-select-multiple-files-in-windows-explorer –

답변

2

탐색기에서 여러 파일을 선택하면 셸 상황에 맞는 메뉴 확장의 IShellExtInit :: Initialize 메서드가 호출되고 pdtobj에 선택 항목이 포함됩니다. 관리되는 셸 확장 작성은 지원되지 않습니다.

+0

지원, smuportted. 우리는 steenkin 스포츠가 필요 없어! ;-) –

+1

+1 관리 된 셸 확장 작성이 지원되지 않는다는 점에 유의하십시오. –

+1

최신 .Net 4.0 런타임은 .Net 4.0 런타임 (및 이후의 모든 런타임)을 이전 버전의 .NET 런타임과 병행하여로드하는 프로세스를 지원합니다. 다음의 발췌 부분을 참조하십시오. http://msdn.microsoft.com/en-us/magazine/ee819091.aspx "다른 런타임에서 여러 런타임을 처리 할 수 ​​있으므로 관리 대상 작성에 대한 일반 지원을 제공 할 수 있습니다 셸 확장 - 심지어 기계에서 임의의 응용 프로그램으로 프로세스 내에서 실행되는 파일 " – logicnp

2

나는 이것이 가능하지 않다고 생각합니다.

Explorer를 사용하여 여러 파일을 열면 파일 용 프로그램 사본이 별도로 실행됩니다. 이 동작을 무시할 수 있다고 생각하지 않습니다.

EDIT : 쉘 확장자를 잊어 버렸습니다. 이것은 가능하다.

이 문제를 해결하려면 후속 복사본을 첫 번째 복사본과 통신 한 다음 종료 할 수 있습니다. 이에 대한 자세한 지침은이 답변의 범위를 벗어납니다.

0

안정적으로하려면 셸 확장을 작성해야합니다. 대부분 sendto 구현입니다.

나는 VB6 이후를 작성하지 않은하지만 당신은 좋은 관리 예를 here

로 보이는 것을 찾을 수 있습니다 또는 당신이 freeware utility

관련 문제