草庐IT

任务计划

全部标签

c# - 如何以编程方式确定 Windows 任务栏是否隐藏?

我需要知道Windows任务栏是否隐藏。我相信没有.NET方法可以做到这一点,而且我也遇到过很多“如何隐藏和显示任务栏”示例,但我没有看到任何基于我正在寻找的东西。我不熟悉WindowsAPI,所以很难看懂传统的Windows代码。有人可以告诉我一篇文章或类型代码告诉我任务栏的当前状态是否隐藏吗?我正在用C#编写代码。谢谢。 最佳答案 winSharp93提供了一个似乎有效的辅助类(“FindoutSize(andposition)ofthetaskbar”)。它使用Win32的SHAppBarMessagefunction.以下是

c# - 有哪些 C# 工具可用于触发、排队、确定相关任务的优先级

我有一个与数据库交互的C#服务应用程序。它最近从.NET2.0迁移到了.NET4.0,因此我们可以使用大量新工具。我正在寻找指向编程方法或工具/库的指针,以处理定义任务、配置它们所依赖的任务、排队、确定优先级、取消等。有多种类型的服务:数据(用于检索和更新)计算(用数据计算的结果填充一些表)报告这些服务通常相互依赖并按需触发,即报告任务,其中可能包含代码,例如if(IsSomeDependentCalculationRequired())PerformDependentCalculation();//whichmaytriggerfurthercalculationsGenerateR

c# - 为什么运行一百个异步任务比运行一百个线程花费的时间更长?

为什么运行一百个异步任务比运行一百个线程花费的时间更长?我有以下测试类:publicclassAsyncTests{publicvoidTestMethod1(){vartasks=newList();for(vari=0;i();for(vari=0;iLongRunningOperationAsync(){varsw=Stopwatch.StartNew();awaitTask.Delay(500);Debug.WriteLine("Completedat{0},took{1}ms",DateTime.Now,sw.Elapsed.TotalMilliseconds);return

c# - 异步任务和锁

我有一个应该由两个进程更新的元素列表。第一个是UI线程(由用户控制),第二个是从Web服务检索信息的后台进程。由于第二个进程是I/O绑定(bind)的,它似乎适合异步任务。这引出了几个问题:由于异步任务不在单独的线程上运行,看来我在更新此列表时不需要任何类型的锁,对吧?另一方面,我们是否可以假设异步任务永远不会在单独的线程上运行?我说的是Windows窗体应用程序。也许将来我希望它作为控制台应用程序运行。AFAIK,在控制台应用程序中,异步任务在单独的线程上运行。如果任务在单独的线程上运行,询问任务的首选习惯用法是什么?这样我就可以在必要时建立锁。我不知道我是否真的需要一把锁,这让我想

c# - 如何让任务异常传播回 UI 线程?

在TPL中,如果Task抛出异常,该异常被捕获并存储在Task.Exception中,然后遵循observedexceptions上的所有规则.如果它从未被观察到,它最终会在终结器线程上重新抛出并使进程崩溃。有没有办法阻止Task捕获该异常,而只是让它传播?我感兴趣的任务已经在UI线程上运行(由TaskScheduler.FromCurrentSynchronizationContext提供),我希望异常转义以便它可以由我现有的Application.ThreadException处理处理程序。我基本上希望Task中未处理的异常表现得像按钮单击处理程序中的未处理异常:立即在UI线程上传

c# - 当你不能等待时,你怎么能等待任务

我正在开发Windows8运行时组件,因此公共(public)接口(interface)不能包含Task因为它不是Windows运行时类型。这意味着我无法将该方法标记为async不能awaitprivateasync我的库中的方法。这导致了对如何处理我的应用程序逻辑的一些困惑。这就是我同步做我想做的事情的方式。Resultr=TryGetAuthResultFromFile();if(r!=null){returnr;}r=GetAuthResultFromWebAuthenticationBroker();returnr;问题是TryGetResultFrom文件是asyncTask

c# - 如何使窗口具有任务栏文本但没有标题栏

如何让我的窗口没有标题栏,而是出现在任务栏中并带有一些描述性文字?如果您设置Form的.Text属性,那么.net会给它一个标题栏,这是我不想要的。this.ControlBox=false;this.FormBorderStyle=System.Windows.Forms.FormBorderStyle.FixedDialog;this.MaximizeBox=false;this.MinimizeBox=false;this.ShowInTaskbar=true;this.Text="Mytitlefortaskbar";我找到了一个部分解决方案来覆盖CreateParams:pr

c# - 模拟异步任务

我在使用MicrosoftBCL的.NET4.0上使用Moq进行单元测试时遇到以下情况TaskmockTask=newTask(()=>newMyClass());uploadHelper.Setup().Returns(mockTask);Task.WaitAll(mockTask);我面临的问题是Task.WaitAll(mockTask)只是阻塞并且永远不会返回。我在这里做错了什么?编辑请注意,mockTask在我的上下文中是异步的。 最佳答案 您的任务尚未开始!只需使用:TaskmockTask=Task.FromResul

c# - 计划的 Azure WebJob 但未调用 NoAutomaticTrigger-Method

这个问题与这个问题相关:RunningAzureWebJobwithoutqueue我的场景:我只想每小时将一个文件写入blob存储,不需要任何队列系统。从前一个问题中,我得到了这段代码——它在第一次被触发时运行良好:[NoAutomaticTrigger]publicstaticvoidDoWork([Blob("container/foobar.txt")]TextWriterwriter){writer.Write("HelloWorld"+DateTime.Now.ToShortTimeString())"}staticvoidMain(){JobHosthost=newJob

c# - 将任何给定的函数转换为可等待的任务

以下代码的目标是将任何给定函数转换为可等待函数。这个想法是在从数据库中获取数据时使用它,从而使代码可以灵活地使用同步获取函数(我当前ORM的强加),或者使用与异步完全相同的函数。我知道代码背后的概念可能有很多问题。到目前为止,我只是试图摆脱编译器错误,以便我可以运行代码并检查行为。但是我当然愿意事先讨论这个概念,如果它背后的整个想法是错误的,那么我会更有效地利用我的时间寻找另一个解决方案。asyncstaticvoidMain(){//Thefollowinglinegivesacompilererror://Error1Thebestoverloadedmethodmatchfor'