如何使用VSPackage检测Visual Studio IDE是否正在关闭?
我正在编写一个VS包,我需要存储用户启动包的时间,以及用户关闭Visual Studio时的时间。
问题是,我不知道如何获得Visual Studio的结束事件。 谁能给我任何关于如何检测VS是否关闭的信息?
注意:当我从互联网上搜索时,我遇到了类似的问题: 如何通过VSPackage取消ToolWindowPane或Visual Studio IDE关闭操作? ,但是当我尝试它时,这个解决方案是在Package窗口关闭时检测并执行某些操作,并且无法检测Visual Studio何时关闭。
任何帮助都非常感谢。
谢谢
只是为了明确并解决这个问题。 这是检查VS是否正在关闭的代码快照:
// Create 2 variables below private DTE2 m_applicationObject = null; DTEEvents m_packageDTEEvents = null;
然后在Initialize中添加:
// Link the Event when VS CLOSING m_packageDTEEvents = ApplicationObject.Events.DTEEvents; m_packageDTEEvents.OnBeginShutdown += new _dispDTEEvents_OnBeginShutdownEventHandler(HandleVisualStudioShutDown);
您需要的其他两种方法:
public DTE2 ApplicationObject { get { if (m_applicationObject == null) { // Get an instance of the currently running Visual Studio IDE DTE dte = (DTE)GetService(typeof(DTE)); m_applicationObject = dte as DTE2; } return m_applicationObject; } }
和
上述就是C#学习教程:如何使用VSPackage检测Visual Studio IDE是否正在关闭?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public void HandleVisualStudioShutDown() { MessageBox.Show("Exiting Visual Studio. Bye"); }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954772.html