Articles of .net

在Windows中对程序进行基准testing的最佳方式是什么?

我需要在Windows中的.NET程序(C#)上做一些性能基准testing,但是我没有在Windows环境中做很多基准testing。 我已经考虑使用Windows 2000 / XP性能监视器与自定义计数器,但我不认为这是相当我想要的。 在Windows XP中有没有好的系统设备,或者我需要使用System.Diagnostics.Stopwatch [编辑]和写入文本日志手动解释,还是有其他的东西? 编辑:有什么超越System.Diagnostics.Stopwatch ?

如何从.NET应用程序启动`powercfg.exe -energy`?

当我 using (var process = new Process { StartInfo = new ProcessStartInfo { FileName = "powercfg.exe", Arguments = "-energy", RedirectStandardOutput = true, UseShellExecute = false, } }) { process.Start(); process.WaitForExit(); } 它输出: 一个能源诊断和技术协会(energy.dll)的图书馆服务。 翻译成英语: 能耗效率诊断库(energy.dll)无法加载。 即使作为pipe理员运行。

调整窗口大小会导致黑条

我有一个窗体,它在构造函数中设置这些样式: this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this.SetStyle(ControlStyles.UserPaint, true); this.SetStyle(ControlStyles.ResizeRedraw, true); this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); 我在Paint事件中绘制了一些矩形。 表单上没有控件。 Hovewer,当我调整表格的大小时,表格的右下方有黑条。 有什么办法摆脱他们? 我已经尝试了一切,在WndProc监听WM_ERASEBKGND ,手动绘制WM_PAINT上的窗体,实现自定义双缓冲区等。还有什么我可以尝试? 我发现这个: https : //connect.microsoft.com/VisualStudio/feedback/details/522441/custom-resizing-of-system-windows-window-flickers ,它看起来像是DWM中的错误,但我只是希望我能做一些解决方法。 请注意,我必须使用双缓冲,因为我想在Paint事件中绘制相当强烈的graphics表示。 我在C#.NET 2.0,Win7中开发。 状态更新1 我设法通过自己实现resizefunction来摆脱大部分黑色条纹。 Hovewer还有一些小毛病。 有没有办法一次resize和paint操作? 这里是我需要做的一个伪代码 : IntPtr hDC; var size = new Size(250, 200); IntPtr handle = API.PaintAndResizeBegin(this.Handle /* Form.Handle */, size.Width, size.Height, out hDC); using (var g = Graphics.FromHdc(hDC)) { this.backBuffer.Render(g, […]

在确定菜单项目的位置时是否有任何标准要遵循?

在开发基于Windows表单的应用程序时,在devise表单的主菜单系统时是否有任何标准? 大多数带有菜单系统的Windows应用程序都将具有标准的File | 编辑| 查看| 工具| 帮助菜单。 你如何确定任何额外的顶级菜单项的位置? 另外,你如何确定子菜单项的位置? 例如,您要遵循什么规则或原则来确定项目是否应放置在“编辑”,“工具”或可能是您自己的非标准顶级菜单中? 我在这里寻找两件事情: 发布的资源(网页或打印),详细说明这个(特别是如果它来自微软),或从UX或UI专业人士的其他材料。 你自己的意见。 基于Gamecat提到Ribbon的响应,我将把它扩展到Ribbon。 你如何确定哪个button出现? 寻找如上所述。 相关问题: https : //stackoverflow.com/questions/126797/is-there-a-style-guide-for-guis-somewhere

如何在Windows中运行应用程序?

如何获得Windows中当前正在运行的应用程序或前台进程的列表? 我的意思是有真正的窗口的应用程序。 不是后台服务/进程。 我想访问任务pipe理器打开时显示的同一个列表。 有没有办法? 任何types的解决scheme都可以接受 无论是一个命令或.NET代码或任何东西。 我只想以编程方式获取该列表。 这甚至可能吗? 我厌倦了任务列表,但它给了我所有的服务和stream程,甚至是后台服务。 有什么逻辑我可以实现?

PowerShell 2.0 sudo的限制

很长时间的读者,但新的海报。 我一直在为这个问题摔跤了一整天,这让我疯狂。 淘了这个网站和谷歌后,我仍然卡住了。 基本上,我无法弄清楚如何在PowerShell中使用Copy-Item CmdLet来实现“sudo”。 这是我的代码: PROFILE.PS1: # Trigger UAC to elevate the supplied command function Elevate-Process() { if($args.Length -eq 0) { error ('USAGE: ' + $MyInvocation.InvocationName + ' <executable> [arg1 arg2 arg3 …]'); } else { try { if($args.Length -eq 1) { Start-Process $args[0] -Verb RunAs; } else { Start-Process $args[0] -ArgumentList $args[1..$args.Length] -Verb […]

处理Windows USB事件

我创build了一个通用的USB HID通信驱动程序,能够监视USB事件并向设备发送/接收数据包。 自从我的WinForms日子以来,我一直在成功地使用它,因为很多代码都是从MSDN中挑选出来的,实现方式与此处build议的方式非常相似。 我的问题是:我看到的例子继续依赖于什么似乎是旧的“Windows消息”体系结构,即System.Runtime.InteropServices ,WM_xxxxxxxtypes的消息,注册/处理这些纯粹的C# WPF应用程序与HwndHandler ,重写WndProc等等。我想知道有没有办法处理USB事件使用更现代的,事件驱动的方法,与delegates说,订阅EventHandlers等? 即使这个 SOpostbuild议不要使用这种古老的方法,我想也必须有USB事件的解决scheme。 感谢名单。

如何在Windows 10邮件应用程序中使用附件打开新邮件

我正在尝试向我的C#/ .Net应用程序添加一个function,以便用户通过电子邮件发送文件。 当用户安装Outlook时,我可以成功地使用Outlook互操作API来完成我想要的function。 但是,在新的Windows 10安装,我不能解决如何打开一个电子邮件与默认的邮件应用程序,这是从Windows应用程序的附件。 我努力了: 使用EML文件,按照https://stackoverflow.com/a/25586282/2102158 邮件应用程序不注册自己打开EML文件 使用MAPI32.dll等(我使用的代码从https://github.com/metageek-llc/inSSIDer-2/blob/master/MetaScanner/UnhandledException/MapiMailMessage.cs ) popup一个对话框说没有电子邮件程序注册。 看来邮件应用程序不会与MAPI交互 使用mailto:链接。 邮件程序打开,但它不尊重Attachment =或Attach =参数 也 Windows.ApplicationModel.Email.EmailMessage似乎只在手机上可用。 我不想用SMTP来发送消息服务器端。 我也尝试了与邮件应用程序关联的MS-UNISTORE_EMAIL:和OUTLOOKMAIL:urlscheme,它们似乎与mailto的行为相同: 似乎没有任何方法从命令行启动邮件应用程序

检测Windows重新启动是否由于Windows更新

我的电脑上的一些应用程序已经进行了检测,重新启动是否由Windows Update完成。 这是可观察到的,因为它们在自动Windows Update重新启动后重新启动。 这是非常有用的,因为这些应用程序重新加载更改,甚至未保存的更改或恢复选项卡(浏览器的情况下)。 这样做的应用程序的例子: 谷歌浏览器 Microsoft Visual Studio 微软油漆 在所有情况下,应用程序保存重启之前的状态 。 (我的电脑实际上是从待机状态自动唤醒的,并且在安装更新的时候重新启动了自己,太糟糕了,这样做不会回到待机状态。) 我的问题是:如何以编程方式检测这种重新启动? 在重新启动之前似乎是可靠检测到的。 问题我怎么才能得到Windows最后一次重启的原因可能看起来像重复,但没有答案说任何更新。 我用C#编写代码,所以在C#中的答案会很有帮助,但是我也可以读C和C ++。

什么是安全发布网站发布的最佳方式?

那么,根据你的经验,最好的方法是什么? 在构build自动化工具中是否还有可编写脚本/可触发的安全方法? 编辑:我应该提到这是Windows / .net,我将部署到iis6