2012-04-26 33 views
0

我做的Windows外殼擴展,集成一個dll,下面這個教程http://blogs.msdn.com/b/codefx/archive/2010/09/14/writing-windows-shell-extension-with-net-framework-4-c-vb-net-part-1.aspx [^]Windows外殼擴展DLL和WinForm的過程

現在,我加入該DLL Windows窗體,我做了以下內容:

void OnVerbDisplayFileName(IntPtr hWnd) 
{ 
    ShowSelectedFiles form = new ShowSelectedFiles(); 
    form.Show(selectedFiles); 
} 

一切工作正常,只是窗體圖標不顯示在任務欄中,我無法找到運行我的表單的過程。

任何提示如何解決這個問題?也許通過開始一個新的過程,然後顯示錶單?

感謝

回答

0

解決此問題的唯一方法是創建另一個過程。

void OnVerbDisplayFileName(IntPtr hWnd) 
    { 
     string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath; 
     string executableName = file.Substring(0, file.LastIndexOf("/")); 
     executableName += "/MyApp.exe"; 

     Process gui = new Process(); 

     gui.StartInfo.FileName = executableName; 
     gui.StartInfo.Arguments = selectedFiles.JoinFileNames(" "); 

     gui.Start(); 
    } 

乾杯!