簡體   English   中英

從Outlook窗口拖放到.Net中的應用程序.EXE文件(或圖標)

[英]Drag and Drop from Outlook Window to Application .EXE file (or Icon) in .Net

以前曾經問過這個問題,但是根據我看到的方法,我無法得到我想要發生的事情。 目前,我有一個Windows窗體,如果我運行.EXE(並調出窗體本身),我可以將Outlook中的電子郵件放入其中沒問題。 但是,我正在尋找的是當用戶將消息直接從Outlook丟棄到.EXE文件上的圖標時具有此功能。 如果我在本地保存文件並將其放到圖標上,我可以做得很好,但直接從Outlook中,我得到一個帶有一條直線的圓圈。 是否有我需要在應用程序上設置的屬性才能使其正常工作。 我使用此代碼將消息放到窗體窗口上工作。

http://www.codeproject.com/Articles/28209/Outlook-Drag-and-Drop-in-C

這是我寫的代碼,它落在了Icon上。

 static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        var form = new Form1();

        if (args.Length > 0)
        {
            form.ProcessCommandLine(args[0]);
        }

        Application.Run(form);
    }
}

 public void ProcessCommandLine(string commandLine)
    {
        lstFiles.Items.Clear();

        var fileAttributes = File.GetAttributes(commandLine);
        if (fileAttributes.HasFlag(FileAttributes.Directory))
        {
            ProcessDirectory(commandLine);
        }
        else
        {
            ProcessFile(commandLine);
        }
    }

任何幫助將不勝感激,謝謝。

您正在尋找創建一個Shell Drop Handler 正如您所發現的,.EXE文件的默認刪除處理程序接受任何文件作為可放置項,並自動啟動具有刪除文件路徑的應用程序。 Windows資源管理器不直接支持其他項目,例如直接從Outlook拖動的郵件或日歷對象。 Windows附帶的丟棄處理程序的一個示例是,如果將文件拖到ZIP文件上,則在刪除時會自動將該文件添加到ZIP存檔中。

如果您仍想創建自己的放置處理程序,則可以在任何文件上刪除任何放置的項目時執行任何自定義操作(例如程序的圖標,快捷方式等)。這不是一項簡單的任務,並且編寫shell擴展通常不建議使用托管代碼(C#或VB)。 (見: http//blogs.msdn.com/b/oldnewthing/archive/2006/12/18/1317290.aspx

創建drop handler之后,它分為兩步:

  1. 在程序安裝期間,使用唯一的文件擴展名(例如.myprogdroptarget)在桌面上創建一個文件。
  2. 注冊.myprogdroptarget的drop handler,以便此圖標成為對象的“神奇”放置目標。

有關如何在ATL / C ++中創建Drop Handler的示例代碼,請查看Microsoft All-In-One代碼框架 ,特別是類ATLShellExtDragAndDropHandler.cpp

替代解決方案:

考慮創建一個執行類似功能的Windows桌面小工具。 編碼應該更簡單,因為您不必深入研究C ++。 曾經有一個名為魔術文件夾的Vista小工具接受了作為放置目標的項目,但我無法再在Windows庫中找到它。 這是一篇描述它是如何工作的文章:

http://www.howtogeek.com/howto/windows-vista/keep-your-vista-desktop-clean-with-the-magic-folder/

這里有一個鏈接到作者(如果你問得很好,也許他會分享源代碼): http//davecra.wordpress.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM