WPF 程序检测 windows 关机】的更多相关文章

1.使用SessionEnding事件 参考MSDN. 2.在需要处理 关机事件中可以注册SessionEnding事件 App.Current.SessionEnding += Current_SessionEnding; private void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e) { //处理一些事情 DoExit(); }…
这篇博客介绍如何在Windows 7下应用Windows 8的主题. 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同.这是为什么呢?WPF程序启动时会加载与操作系统对应的主题.下面将列出常见的OS主题与WPF主题的关系. 针对不同操作系统的主题,WPF程序会加载不同的主题assembly.这样就形成了同样的XAML代码在不同的OS中展示效果. 回到这篇博客的主题,为Windows 7下的WPF程序应用Windows 8主题.通过上面的表格,可以知道,…
原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用上这样的功能需要调用 shell 提供的一些 API. 然而在 WPF 程序中使用 Windows 跳转列表功能非常简单,在 XAML 里面就能完成.本文将介绍如何让你的 WPF 应用支持 Windows 跳转列表功能. 本文内容 一个简单的跳转列表程序 定制跳转列表的功能 一个简单的跳转列表程序…
最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误: {     "ClassName" : "System.Windows.Markup.XamlParseException",     "Message" : "The image format is unrecognized.",     "Data" : {   …
Windows Client 客户端在关机,不外乎两种情况: 1. 没有处理 Windows 关机消息: 2.处理了关机消息,但是超时了: 上面这两种情况,都会让Windows 关不了机.在现实生活中,这个情况的出现,让用户很头疼! 一般出现上面这种情况,要对代码的分析,一定要对消息分发,消息处理的地方进行重点对待.对于Delphi 程序,很多事通过 Var aHande:THandle; begin aHande:=AllocateHWnd(WndProc); end; 传入 WndProc…
最近有小伙伴问我如何可以让 Windows 静置一段时间不操作之后,显示一个特殊的界面.我想了想,屏幕保护程序可以做到这一点,而且,屏幕保护程序的开发也是非常简单的. 本文将介绍如何为 Windows 这一悠久的功能进行开发. 本文内容 屏幕保护程序的本质 安装屏幕保护程序 处理屏幕保护程序参数 请预防一些坑 参考资料 屏幕保护程序的本质 屏幕保护程序本质上就是一个 Win32 窗口应用程序. 好了,这一节真的结束了…… 编译好一个窗口应用程序之后,把扩展名改为 scr,于是你的屏幕保护程序就做…
之前写了一个软件用于实验室的打卡提醒,其中一个重要的功能是在关机之前提醒当天晚上是否已经打卡.之前我是在WM_ENDSESSION中弹出一个模态对话框来提醒,在XP中基本工作正常,在Win7中大多数时候工作正常,但是有时候会出现不提醒现象.我想这中间是不是有什么玄机,Windows的关机方案从XP到Win7到底发生了什么变化,如何进行有效的截获Windows关机消息.对此,我搜寻了MSDN和网上论坛结合自己的测评给出一个完善的描述和解决方案,如果你有类似的需求,可以参考这篇文章. 在MSDN中对…
原文:通过 AppSwitch 禁用 WPF 内置的触摸让 WPF 程序可以处理 Windows 触摸消息 WPF 框架自己实现了一套触摸机制,但同一窗口只能支持一套触摸机制,于是这会禁用系统的触摸消息(WM_TOUCH).这能够很大程度提升 WPF 程序的触摸响应速度,但是很多时候又会产生一些 Bug. 如果你有需要,可以考虑禁用 WPF 的内置的实时触摸(RealTimeStylus).本文介绍禁用方法,使用 AppSwitch,而不是网上广为流传的反射方法. 本文内容 如何设置 AppSw…
原文:在 WPF 程序中应用 Windows 10 真?亚克力效果 从 Windows 10 (1803) 开始,Win32 应用也可以有 API 来实现原生的亚克力效果了.不过相比于 UWP 来说,可定制性会差很多. 本文介绍如何在 WPF 程序中应用 Windows 10 真•亚克力效果.(而不是一些流行的项目里面自己绘制的亚克力效果.) 本文内容 API 如何使用 注意事项 API 需要使用的 API 是微软的文档中并未公开的 SetWindowCompositionAttribute.…
介绍 由于历史原因,基于 Windows 平台存在着大量的基于 .NetFramework 开发的 WPF 和 WinForm 相关程序,如果将这些程序全部基于 DotNetCore 3.0 重写一遍显然是不现实的,但是 DotNetCore 是未来发展的趋势.所以本文通过以 WPF 为例,介绍一下如何将传统 WPF 迁移到 DotNetCore 3.0 上. 环境 我在之前的一篇文章 DotNetCore 3.0 助力 WPF 开发 有提到过,如果想开发基于 DotNetCore 3.0 的…
WPF 自诞生以来就带着微软先生的傲慢.微软说 WPF 支持触摸,于是 WPF 就真的支持触摸了.对,我说的是"支持触摸",那种摸上去能点能动的:偶尔还能带点儿多指的炫酷效果.但是,WPF 推出那会儿,绝大部分开发者都还没有触摸屏呢,开发个程序要怎么验证支不支持触摸呢?微软先生无奈地决定--你写鼠标的代码就好了,我帮你转换!于是--一大波 BUG 袭来-- WPF 触摸失效的分类 我将 WPF 的触摸失效总结成三种不同的类型. 触摸下 Stylus/Touch 事件正常触发,但不提升为…
如何注册java 程序为windows 服务 最近想找个软件来控制电脑的关机时间,在网上找了几个,都是可视化界面的可以设置具体的关机时间的软件.由于我想编写的关机程序是运行在别人机器上,只能让该机器在晚上17 点到23 点25 分才上网,到了23 点25 分就可以自动关机.为了让别人感觉不到这个软件的“存在”(免得使用者自己关闭定时关机软件),所以我想把关机软件注册为服务的方式,运行在后台.这里介绍下如何利用javaService 软件把java 程序注册为windows 服务. 一.  利用j…
原文:c# 守护进程,WPF程序自守护 版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/lwwl12/article/details/79035246 如何防止wpf程序异常关闭,守护进程是暂时能想到的最好方式.最好是能够一次编码就把守护进程的事情做完. 思路:程序打开时,首先打开守护进程:由守护进程打开主程序:守护进程与主程序间互相守护,任何一个挂了都能自动重启. 实现:Mutex互斥量,守护进程和主程序分别使用不同的互斥量,既可以防止重复打开软件,…
本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网,要求通过局域网内一个指定的代理服务器联网,并且只有该程序能通过代理服务器打开网页,直接用浏览器或其他应用程序仍然不允许上网(因此不能直接更改本机的LAN设置). 首先介绍一下CefSharp,它是基于Google浏览器的一个组件,是可以用在WPF/WinForm客户端软件中的嵌入式浏览器. 如果你…
WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了>可以参看地下地址(两篇是一样的): 开源中国 http://my.oschina.net/chinesedragon/blog/308336 CNBLOGS http://www.cnblogs.com/luoshupeng/p/3946635.html ** 博客园的Markdown编辑器真的不行,…
srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等. 如何获取? 你可以通过下载并安装Microsoft Windows Resource Kits获得或者可以通过…
使用srvany.exe将任何程序作为Windows服务运行 2011 年 3 月 7 日 !本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性. srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常…
这篇博客将介绍一些提高WPF程序的建议(水平有限,如果建议有误,请指正.) 1. 加快WPF程序的启动速度: (1).减少需要显示的元素数量,去除不需要或者冗余的XAML元素代码. (2).使用UI虚拟化,只显示当前需要显示的元素. (3).不要把不要显示的自定义控件隐藏在主界面中,虽然它们不会显示出来,但是程序启动时还是会去计算自定义控件所需的空间和位置. 2. 耗时操作放在放在非UI线程上处理,保持UI的顺畅.处理完成后如果需要在UI上展示,调用Dispatcher.BeginInoke()…
我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现Notification的功能,我们需要借助于WinForm中NotifyIcon来实现,请看代码: using WinForms = System.Windows.Forms; private WinForms.NotifyIcon _notifyIcon; private WinForms.Con…
前言: AForge.NET 是用C#写的一个关于计算机视觉和人工智能领域的框架,它包括图像处理.神经网络.遗传算法和机器学习等.在C#程序中使用摄像头,我习惯性使用AForge.NET提供的类库.本文讲解如何在WPF程序中调用AForge.NET控件实现视频和抓拍功能. AForge.NET控件下载地址:http://code.google.com/p/aforge/ WPF与WinForm控件交互: 要实现视频功能,需要使用AForge.Controls命名空间中的VideoSourcePl…
要想编程使Windows关机.重启或者注销,可以使用ExWindowsEx这个API函数,该函数只有两个参数,第一个表示关机动作的标志,也就是你要让该函数关机呢,还是重启,还是注销等.可以使用EWX_SHUTDOWN.EWX_REBOOT.EWX_LOGOFF等标志常量,分别表示关机.重启.注销.另外如果加上EWX_FORCE这个标志常量的话,该表明强制执行该操作.Windows在执行以上操作的时候会首先给每个正在运行中的程序发送一个WM_QUERYENDSESSION消息,告诉它们现在我要退出…
当需要在WPF程序启动时,启动另一外部程序(.exe程序)时,可以按照下面的例子来: C#后台代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; u…
如果不用VS的WPF项目模板,如何手工创建一个WPF程序呢?我们来模仿WPF模板,创建一个最简单的WPF程序. 第一步:文件——新建——项目——空项目,创建一个空项目. 第二步:添加引用,PresentationFramework,PresentationCore,WindowsBase,System,System.Xaml,这几个是WPF的核心dll. 第三步:在项目上右键添加新建项,添加两个“xml文件”,分别命名为App.xaml和MainWindow.xaml.可以看出,xaml文件其实…
原文 http://www.gisall.com/html/47/122747-4038.html WPF(Windows Presentation Foundation)是美国微软公司推出.NET Framework 3.0的组成部分之一,它是一套基于XML..NET Framework.矢量绘图(vector graphic)技术的展示层(presentation layer)开发框架,微软视其为下一代用户界面(user interface)技术,将广泛被用于下一代的Windows平台(Wi…
在软件开发中为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作,程序自动跳转到用户登录界面. 判断程序是否长时间无人操作,有两个依据,第一个是鼠标长时间不动,第二个是鼠标焦点长时间不在此程序中(即用户长时间在操作其他的程序). 一.鼠标长时间不动 在其他博客中看到过针对鼠标长时间不动这种情况的解决方案[1],参考此博客,将相应的代码加入到App.xaml.cs(代码如下),本文实现的是鼠标长时间不动(本例中设置10s不动)则重启该程序(因为对于需要账号密码登录的程序…
废话不多说,先看解决方案目录 WindowsFormsDemo是主程序,WpfApp是嵌入的WPF程序,先看WPF程序,程序默认启动的页面是MainWindow.xaml,这里注释掉App.xaml里的StartupUri="MainWindow.xaml",后台设置启动的Uri,将原来的空的App类改成一些内容(也可以不改) /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class…
WM_QUERYENDSESSION消息是Windows向你询问Windows能否关闭,WM_ENDSESSION消息表示提示你Windows即将关闭.故当应用程序退出时, WM_QUERYENDSESSION消息和WM_ENDSESSION消息均不响应.也就是说也就是说,你的程序在运行状态时,而系统由于某种原因需要注销或重启(或关机),此时操作系统会向你询问,但到你的同意(返回TRUE)后,系统才能做进一步的操作. Windows 在注销.重起.关机之前会向每个当前正在运行的应用程序发送WM_…
使用WPF创建第一个应用程序.实现功能如下: 单击"Red"按钮,文本显示红色:单击"Black"按钮,文本显示黑色:单击"Back"按钮,退出当前应用程序. 实现步骤如下: 新建项目,选择WPF程序. 选中创建的windows窗口,在属性中更改Title为"使用visual studio 2015 创建WPF应用程序". 添加lable,将内容更改为"Hello WPF!",在属性中更改背景色backgr…
)头文件 windows下winsock.h或winsock2.h linux下netinet/in.h(大部分都在这儿),unistd.h(close函数在这儿),sys/socket.h(在in.h里已经包含了,可以省了) 2)初始化 windows下需要用WSAStartup启动Ws2_32.lib,并且要用#pragma comment(lib,"Ws2_32")来告知编译器链接该lib. linux下不需要 3)关闭socket windows下closesocket(...…
在Win7.Win8或者Win10系统中,如果要实现电脑的自动定时关机,不需要借用任何的外部程序,直接系统自带的任务计划程序即可实现电脑的定时自动关机,支持设定电脑关机时间以及执行频率次数,如固定每天都执行电脑自动定时关机操作. (1)首先在开始菜单处输入任务计划程序,然后进入任务计划程序页面. (2)进入任务计划程序管理界面后,在右侧的计划任务程序(本地)中选择创建基本任务. (3)进入创建基本任务设置页面,首先设置好基本的名称信息以及描述信息,如下图. (4)设置好后进入下一步,设置任务执行…