파일 만들기 시작하는 데 도움이됩니다 -> Vista에서 컨텍스트 메뉴를 마우스 오른쪽 버튼으로 클릭하십시오.

StackOverflow https://stackoverflow.com/questions/815483

문제

저는 초보자 .net 2.0 및 3.5 개발자입니다. Vista에서 파일을 마우스 오른쪽 버튼으로 클릭 할 때 컨텍스트 메뉴를 생성하는 응용 프로그램을 만들고 싶습니다. 오른쪽 클릭 후-나머지를 알아낼 수 있다고 생각하지만 Vista API에 액세스하는 기술을 모르겠습니다.

후속 조치 :

사람들이 응답 한 정보 중 일부를 읽었을 때, 나는 쉘 확장으로 여기에서 오버 킬링을하고 있다는 것을 알았습니다. 앱을 호출하고 파일 이름을 매개 변수로 전달하면이 프로젝트를 훨씬 간단하게 유지할 수 있다고 생각합니다. 특정 확장 기능이있는 파일을 마우스 오른쪽 버튼으로 클릭 할 때 여전히 내 앱이 Explorer의 상황에 맞는 메뉴에 나오는 것이 필요합니다. 이 작업을 어떻게하려고합니까?

도움이 되었습니까?

해결책

도움이되지 않는 소리가 들릴 위험이 있으므로 .NET 2.0 또는 3.5에서이를 권장합니다. Brian이 말했듯이 당신이 구현하려는 것은 쉘 확장입니다. 이들은 Vista Shell이로드되는 라이브러리로 구현됩니다.

웹 주위에 .NET 2.0에서 이들을 구현하는 방법에 대한 지침을 제공하는 몇 가지 튜토리얼이 있거나 이러한 생각이 얼마나 나쁜지에 대한 언급이 거의 없습니다. Vista Shell을 .NET 쉘 확장으로로드하면 쉘 확장에 필요한 전체 .NET CLR을로드해야합니다. 이것을 더 악화시키는 것은 한 프로세스에서 전체 .NET CLR 버전 만로드 할 수 있다는 것입니다. 따라서 .NET 1.0 CLR이 필요한 쉘 확장 기능이 있고 Vista 가이를로드 한 경우 쉘 확장이 필요한 2.0 CLR을로드 할 수 없습니다.

또한 일부가 있습니다 오버 플로우 기사를 쌓습니다 이미 이것에 대해 논의합니다.

일부 정보 관리되지 않는 C ++에서 쉘 확장을 구현합니다 (KBCAFE PDF, 간단한 HTML 링크를 찾을 수 없습니다)

다른 팁

당신이 쓰려고하는 것을 "쉘 확장"이라고합니다. 나는 한 번도 글을 쓰지 않았으므로 빠른 예를 제시 할 수는 없지만 이제는 Google에서 튜토리얼을 검색하여 더 많은 발전을 할 수 있다는 것을 알았습니다.

관리 코드를 사용하여 Windows의 모든 버전에서 Explorer에 대한 Shell Extensions를 작성할 수 없다고 확신합니다. 따라서 하나를 작성하려면 C ++와 같은 "전통적인"언어로 수행해야합니다.

당신은 필요합니다 컨텍스트 메뉴 쉘 확장, 이제 명심해야 할 한 가지는 당신이 .NET에 쓸 수 없습니다 (오래된 새로운 블로그).
프로세스 외부 확장을 작성하려고 시도 할 수 있습니다 (골격은 IPC를 통해 관리 서비스를 호출하는 해골이 관리되지 않습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top