
C#
FireFrame
这个作者很懒,什么都没留下…
展开
-
C# 调用MMC组件打开windows服务属性对话框
一次开发中需要调用系统服务里面的某个服务的属性对话框,方便进行设置操作。探索了好半天,发现以外的比较简单。使用Microsoft Management Console 2.0简称MMC的COM接口即可轻松调用。我们首先在引用中找到这个并引用进工程:然后,我们在代码中编写如下:MMC20.Application appObj = new MMC20.Application();// 加载服务组件appObj.Load("services.msc");// 获取其中的激活的视图MM原创 2021-06-22 17:09:39 · 679 阅读 · 0 评论 -
C# 使用WMI获取所有服务的信息
看见网上有很多的方法来获取Windows中的系统服务,但是都不是很完美。首先第一个用的比较多的是利用ServiceController这个类来获取。使用起来非常简单。ServiceController[] services = ServiceController.GetServices();// 遍历系统服务列表foreach (ServiceController service in services){ // 服务名称 string name = service.Serv原创 2021-05-18 14:09:49 · 1283 阅读 · 0 评论 -
C# 获取视频文件缩略图的方法
想用WPF实现获取视频文件缩略图的功能,显示到ListView中,但是搜索一下发现,大家都是采用FFmpeg的方式来截取的。我感觉非常不好。首先,FFmpeg非常的大,集成到软件中非常不方便。再者是个命令行的工具,执行后生成一个图片,然后再次读取,也挺烦躁,所以想是否有其它更好更简便的方法呢?Windows 资源管理器本身不靠任何第三方的组件都可以获取视频文件的缩略图,能否调用系统的功能呢?最后研究发现,通过系统的API可以实现。需要NuGet引用一个库WindowsAPICodePack-Shel原创 2020-12-04 10:56:08 · 3379 阅读 · 4 评论 -
C#中对"Cross-thread operation not valid"错误的处理办法
Windows Forms 控件通常不是thread-safe(直接或间接继承于System.Windows.Forms.Control),因此.NET Framework为防止multithread下对控件的存取可能导致控件状态的不一致,在调试时,CLR-Debugger会抛出一个InvalidOperationException以‘建议‘程序员程序可能存在的风险。 问题的关键在于,动机转载 2009-10-14 11:28:00 · 1629 阅读 · 0 评论 -
C# TextBox 无法接收 Enter 回车按键消息
一次项目中需要通过在TextBox中按Enter来判断输入结束的情况,TextBox 为单行控件,属性加了AcceptReturn = true;KeyPress和KeyDown均无法拦截Enter按钮事件,经过查阅后才知,当窗体指定了一个AcceptButton的时候,TextBox中 Enter事件是无法拦截的,除非TextBox是多行的。原创 2016-12-29 17:06:29 · 5798 阅读 · 0 评论 -
C#双缓冲绘图方法大全
一、 画面闪烁问题与双缓冲技术1.1 导致画面闪烁的关键原因分析:1 绘制窗口由于大小位置状态改变进行重绘操作时 绘图窗口内容或大小每改变一次,都要调用Paint事件进行重绘操作,该操作会使画面重新刷新一次以维持窗口正常显示。刷新过程中会导致所有图元重新绘制,而各个图元的重绘操作并不会导致Paint事件发生,因此窗口的每一次刷新只会调用Paint事件一次。窗口刷转载 2017-07-03 09:33:38 · 12110 阅读 · 0 评论 -
C# Winform在win10里弹出无焦点的窗口
有个项目需要在右下角弹出广告窗口,但是又不能影响用户的使用,窗口不能有焦点。在网上搜了一堆,都是以下的代码,在form中添加一段样式。 protected override CreateParams CreateParams { get { const int WS_EX_NOACTIVATE原创 2017-11-23 17:37:21 · 4071 阅读 · 3 评论