我有些不确定,搜索似乎对此没有产生成果。我想创建一个.NET程序来监视字体的安装和卸载。如果某个字体被安装或卸载,我希望运行一个程序来执行一些操作。
我想也许可以使用Windows服务,但是还没有找到如何监视字体的方法。这种方式是否正确?如果是,我忽略了什么?如果不是,有没有其他方法可以实现?
我有些不确定,搜索似乎对此没有产生成果。我想创建一个.NET程序来监视字体的安装和卸载。如果某个字体被安装或卸载,我希望运行一个程序来执行一些操作。
我想也许可以使用Windows服务,但是还没有找到如何监视字体的方法。这种方式是否正确?如果是,我忽略了什么?如果不是,有没有其他方法可以实现?
你可以为 WM_FONTCHANGE 窗口消息创建一个钩子。
查看这篇文章在C#中使用窗口消息实现全局系统钩子
AddFontResource
或RemoveFontResource
? - Todd Main关于字体,我了解得不是很多,所以可能会有错误,但我认为它们都安装在%windir%\Fonts中。
如果是这种情况,您应该能够在您的服务中设置FileSystemWatcher来监视该目录是否有任何更改。