windows-8 – 注册后如何立即启动Windows应用程序后台任务?
我正在写一个只能在PC上运行的Metro应用程序(所以没有,或至少更少,担心电池寿命).当用户点击按钮时,我需要注册并运行后台任务.它记录得很好,但是我发现没有办法让它比15分钟延迟运行,对于这个应用程序来说这是没用的.任何想法如何让它立即运行?
另外我发现一个类似的问题here表示不可能,但有人必须想出一个办法. 编辑: 我要求这个任务的理由是这样的: 我的应用程序将会在长时间,几分钟到几个小时内看到和写入文件.在这段时间的大部分时间里,应用程序不可能在前台呈现.因为我需要代码才能继续执行,似乎最好的办法是创建一个后台任务,但是我无法在Visual Studio之外手动启动这个任务,尽管在Visual Studio中它完美无缺.如果有更合适的方式来处理这个执行,我愿意使用它.
编辑
由于OP的额外信息而修订. 我可以认为你可以通过地铁应用程序做到这一点的唯一方法是要求用户在桌面上“捕捉”您的应用程序 – 在您的快照应用程序上,他们可以启动/停止,并且只能同时使用桌面两个应用程序都在前台运行. 我认为我的另一个答案是不完整的,所以我会尝试提供一个更好的答案. 要澄清:您说明您使用后台任务的全部原因是,即使您的应用程式被暂停,您的应用程式仍会继续运行某些程式码. 背景任务: 您不能触发WinRT后台任务立即运行. 请记住,默认情况下,后台任务是每2小时1秒的CPU,并且无法指定何时激活 – 您只能使用机会主义触发 – 在这种情况下对您不利. 此外,即使您的应用程序是锁屏应用程序,您也不能指定后台任务的即时处理,除非您使用推送通知,这不适合您尝试执行的操作.对于锁屏应用,您通常每15分钟会得到2秒的CPU. OnSuspending: 但是,如果您的应用程序被暂停,则您的应用程序在操作系统挂起之前,您仍然有几秒钟(5,根据这个:http://www.redlist.ch/post/Time-limit-on-suspending-a-WinRT-app.aspx)时间来整理.这个暂停优惠时间比你在后台任务中的时间要长! 因此,我建议不要使用后台任务,而是根据我的其他答案启动后台线程来执行按钮操作(使用本地状态记录其进度).现在,如果你还挂钩了应用程序的onsuspending事件,你可以使用它来查看按钮按动操作是否还没有完成. 希望是有道理的.祝你好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SBS-2008上的Powershell ActiveDirectory-Module?
- Windows Phone 8,如何将图像转换为.png?
- Windows – Application.Current在ElementHost为null
- 设置windows service方式启动GitBlit
- win10家庭版安装docker
- windows – 在cygwin的参数中调用带分号的批处理文件
- windows-server-2012 – 什么取代了Windows Server 2012中的
- windows – 如何在不禁用子控件功能的情况下从客户区拖动表
- 如何在Windows上的Jenkins配置中设置PATH环境变量?
- caffe了(window官方版win7+VS2013)
- windows-server-2008 – Windows 2008 DHCP服务失
- iis-7 – 可以在XP上安装IIS7吗?
- windows – 用于获取有关磁盘状态信息的命令行?
- 适用于Windows的Javascript控制台,如JSC
- Windows – 替代远程桌面软件
- 为什么WPF应用程序在Windows 7和Windows 8之间看
- Windows 8上的Python 3.3上的NumPy
- TFS 2010构建失败,因为它无法加载Microsoft.Visu
- windows-installer – 如何在Installshield 2018
- group-policy – 在Windows 10中配置打开文件资源