2010-01-11 4 views
1

백그라운드에서 실행할 데스크톱 응용 프로그램을 만들 것입니다. 즉, 보이는 창이 없음을 의미합니다. 사용자가 파일을 마우스 오른쪽 단추로 클릭 할 때 나타나는 "텍스트 업로드"옵션이 필요합니다.Windows 셸 (rightclick)에 항목을 추가하려면 어떻게해야합니까?

나를 올바른 방향으로 안내 할 수 있습니까? 또한 누군가가 언제든지 프로그램을 제거하기를 원한다면 셸 수정도 입니다.이 제거되었는지 확인해야합니다.

응용 프로그램은 Windows XP, Windows Vista 및 Windows 7을 실행합니다.이 셸 딜레마를 처리 할 때 OS의 차이점은 무엇입니까?

답변

4

이것은 셸 확장입니다. 이 질문에 C# 태그로 태그를 지정했습니다.

불행하게도 관리되지 않는 C의 ++ 정말 여기에 갈 수있는 유일한 방법입니다 : 당신은 writing shell extensions in a managed language is strongly discouraged 것을 알아야한다.

작성의 프로세스 관리 코드에서 실제로는 이 있기 때문에 할 수있는 매우 위험한 일이다 셸 확장 에 컴퓨터에있는 모든 응용 프로그램을 관리되는 코드 (및 .NET Framework)를 주입의 효과가 에 파일 열기 대화 상자가 있습니다. 의 .NET 프레임 워크 중 하나만 버전은 임의의 주어진 시간 (자바 및 MSXML 다른 공유 구성 요소는 이와 동일한 속성 및 같은 제한이)에서 프로세스에로드 수 있기 때문에

문제는 발생할 .

는 2.0 .NET Framework 및 1.1 .NET 프레임 워크로 구축 된 응용 프로그램을 사용하여 셸 확장 는 파일 열기 대화 상자를 사용하여 작성하는 경우는 이전에 실행할 수 없습니다 때문에, 쉘 확장이 실패합니다 번역. 상황이 다른 애플리케이션 전에 쉘 확장하는 과정에서 로드 얻을 관리하는 경우 더 악화 얻을 수있는 관리 코드 않습니다 : 그것은 을 기대했던 것과 다른 런타임 버전에 기존 응용 프로그램을 강제 할 수 귀하의 확장 그것을 실패하게 만든다.

때문에 공정 중 쉘 확장에 어떤 단일 인스턴스 당 프로세스를 실행하거나 (예 : .NET 프레임 워크, 자바, 또는 MSXML 등) 라이브러리를 사용에 대한 이러한 문제의 우리 강하게 권 해드립니다.

즉, 사람들이 해냈습니다.

여기에 a guide to creating shell extensions, using C++입니다.

1

앱을 SendTo 폴더에 추가 할 수 있습니다.

0

SendTo를 사용하는 독립 실행 형 프로그램은 어떻습니까?

"Program Files \ mycompany \ myprogram"에 exe를 설치하고 exe에 대한 바로 가기를 SendTo 폴더에 설치하십시오.그런 다음 사용자가 파일을 마우스 오른쪽 버튼으로 클릭하고 SendTo를 선택한 다음 프로그램을 선택하면 exe가 Windows에서 실행되고 파일 이름의 전체 경로는 argv [1]를 통해 전달됩니다. n 개 파일을 선택하면 argv [1] .. argv [n]에있게됩니다.

프로그램을 보이지 않게하려면 기본 양식을 표시하지 마십시오. 선택적으로 트레이에 아이콘을 배치하여 사용자가 두 번 클릭하여 업로드 진행 상황을 볼 수 있습니다. argv [1]의 업로드가 완료되면 argv [2] ... argv [n]을 처리하고 종료하십시오. 완전히 제거하려면 프로그램과 바로 가기를 SendTo 폴더에서 제거하십시오.

관련 문제