2010-03-29 2 views
-1

C#에서 Windows 탐색기 도구 모음을 만들었습니다. 이 도구 모음은 내 응용 프로그램을 제거 할 때 제거되지만 등록 해제 후에도 계속 표시됩니다 (explorer.exe에 캐시 됨). explorer.exe 도구 모음에서 사라지려면 다시 시작해야합니다. 이 문제를 C# 코드로 어떻게 해결할 수 있습니까?도구 모음에서 Windows 탐색기를 새로 고침하여 사라집니다.

+0

.NET에서 확장명을 작성하지 않아야합니다. – Anders

답변

1

로그 오프하라는 메시지를 표시하지 않고이 작업을 수행 할 방법이 없습니다.

툴바를 끄는 프로그래밍 방식의 액세스가있는 경우 dll이로드 된 모든 탐색기 프로세스에 코드를 삽입하고 툴바를 끈 다음 CoFreeUnusedLibraries를 호출 할 수 있습니다 (여전히 다소 해킹되지만 프로세스를 죽일 필요는 없습니다).)

-5
foreach(Process p in Process.GetProcesses()){ 

try{ 

if(p.MainModule.ModuleName.Contains("explorer") == true)p.Kill(); 

} 
catch(Exception e){} 

Process.Start("explorer.exe"); 

} 

줘.

+0

explorer.exe를 다시 시작하면 모든 사용자 창이 닫히기 때문에 좋은 해결책은 아닙니다. 내가 다시 시작하지 새로 고침 싶어요. – Cornel

+0

당신은 특히 "explorer.exe가 사라지려면 다시 시작해야합니다."라고 말했기 때문에 코드를 다시 시작했습니다. 대답을 가리 키기 전에 질문을 명확히하십시오. –

+0

나는 당신이 질문의 제목을 정확하게 이해하지 못했다고 생각합니다. explorer.exe가 사라지는 툴바. 답변을 게시하기 전에 질문을 자세히 읽으십시오. – Cornel

0

올바르게 언로드 된 탐색기가 툴바를 캐싱할지 확신하지 않습니다. 이 부분에 대해서는 거의 알지 못하지만 설치 프로그램에서 등록 취소 전화가 누락되지 않았습니까?