当按下Alt-F4时阻止关闭Outlook,使其最小化(翻译)

原文参见:http://weblogs.asp.net/avnerk/archive/2007/04/14/preventing-outlook-from-closing-with-alt-f4.aspx
(翻译的只是大体意思,并不是原文对译:)

在一些情况下,我一直不希望关闭Outlook。实际上除了一些特殊情况,我并不需要关闭Outlook,比如当我想释放内存或者开发调试时才需要关闭Outlook。在日常工作中,我希望它一直打开和最小化。
为了方便操作,我希望直接用原有的Alt-F4快捷键来使其最小化,而不是关闭它。

要实现这个操作,需要使用VSTO 2005 和动态链接库HookLibrary.zip

操作步骤如下:
1、建立一个Outlook外接程序项目


2、加入HookLibrary 的引用

3、在事件ThisAddin_Startup中加入以下代码

private KeyboardHook altF4Hook;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
   altF4Hook 
= new HookLibrary.KeyboardHook();

   
// false/true/false is for ctrl/alt/shift modifiers, respectively.
   altF4Hook.AddFilter(Keys.F4, falsetruefalse);
   altF4Hook.KeyPressed 
+= new KeyboardHookEventHandler(altF4Hook_KeyPressed);
   altF4Hook.Install();
}
 

void altF4Hook_KeyPressed(object sender, KeyboardHookEventArgs e)
{
   Outlook.Explorer exp 
= Application.ActiveExplorer();
   exp.WindowState 
= Microsoft.Office.Interop.Outlook.OlWindowState.olMinimized; 

}
 

 


然后编译执行就可以了,如果需要在其他机器上使用,需要生成msi安装包。我试了一下,效果不错
代码下载:OutlookShutdownMinimizer.zip
posted @ 2007-04-17 14:59  永春  阅读(4076)  评论(11)    收藏  举报