這已經被問過了,但是用我見過的方法,我無法得到我想要發生的事情。目前,我有一個Windows窗體,如果我運行.EXE(並調出窗體本身),我可以從Outlook放入電子郵件沒有問題。但是,我正在尋找的是當用戶直接從Outlook將消息放到.EXE文件上的圖標時具有此功能。如果我將文件保存到本地並將其放到圖標上,但可以直接從Outlook獲取,則可以做到這一點。我需要在應用上設置一個屬性來完成這項工作。我使用這段代碼來將消息放到窗體窗口上來工作。從Outlook窗口拖放到.Net中的應用程序.EXE文件(或圖標)。
http://www.codeproject.com/Articles/28209/Outlook-Drag-and-Drop-in-C
這是我寫的滴在圖標的代碼。
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);
}
}
任何幫助將不勝感激,謝謝。
拖放到一個EXE將完全由資源管理器控制(或任何它正在顯示您的EXE)。它與你自己的代碼無關。 – adelphus 2012-03-05 17:26:47
@adelphus好的,有沒有需要改變的設置?就像我說的,對於「文件」它工作得很好,但是在圖標外面,沒有骰子。感謝您的信息 – 2012-03-05 17:30:47
你誤會了。資源管理器將被編碼以處理文件 - 沒有設置可以更改,因爲內部資源管理器不會知道如何處理Outlook項目。對你來說,該項目可能看起來像一個文件,但對於資源管理器來說,它完全不同。我不相信你的問題有一個解決方案。 – adelphus 2012-03-05 17:37:48