Articles of .net

WMI,负CPU使用率值和过去的Timestamp_Sys100NS

我正在监视一些使用WMI的机器,使用.NET的System.Management东西。 我正在使用的查询是这样的: SELECT Timestamp_Sys100NS, PercentProcessorTime FROM Win32_PerfRawData_PerfOS_Processor WHERE Name='_Total' 从那我计算CPU使用率使用众所周知的公式: double cpu_usage = (1 – (double)delta_cpu / delta_time) * 100; 它每台机器都运行得非常好,只有一台(到目前为止)。 问题是,一台机器,这是Windows 2003服务器(启用超线程,如果重要),我有时会得到负面的CPU使用率值。 换句话说, (double)delta_cpu / delta_timeexpression式产生> 1数字。 我没有searchnetworking提示为什么这可能会发生,但我什么也没find。 这个Windows 2003服务器是特定的吗? 或者是超线程相关的问题? 还是只是预期,我应该把CPU使用率值或cpu_delta值限制在一定的范围内? 编辑:我观察与这一台机器的第二个奇怪的事情是, Timestamp_Sys100NS值不表示像FILETIME像date(自1600年1月1日以来的蜱),但它看起来像自引导时间以来的蜱。 编辑2 :我现在已经证实,这个问题是跨越了很多Windows 2003服务器。 而且我显然不是唯一一个有同样问题的人 。 编辑3 :我已经通过查询从Win32_OperatingSystem LastBootUpTime并添加到Timestamp_Sys100NS的值Timestamp_Sys100NS过去太远解决了时间戳问题。 这似乎给了正确的date和时间。 从Win32_OperatingSystem检索date后的代码操作如下所示: WbemScripting.SWbemDateTime swbem_time = new WbemScripting.SWbemDateTime(); swbem_time.Value = date_str; string time_as_file_time_str […]

防止用户通过系统热键退出Windows应用程序

我一直在做一个付款/现金登记申请。 我们需要通过使用Alt + Esc,Ctrl + Alt + Del或Alt + Tab等组合来防止用户退出应用程序,我们将为退出提供单独的自定义热键。 该应用程序将是全屏幕,没有任何closuresbutton。 我已经做了全屏没有交叉button的部分,但坚持禁用低系统级别的热键。 我如何在C#中做到这一点? 任何帮助或替代方法(即设置用户组权限,以防止星形菜单/任务pipe理器或任何其他替代scheme来实现目标)赞赏。 编辑:我们正在使用WinForms。 该应用程序将在Windows XP / Vista / 7中运行。

如何在Windows上使用.Net构buildiphone应用程序?

有什么工具(模拟器,IDE)可以帮助您在Windows上使用.Net开发iphone应用程序,然后发布到iTunes?

在.NET中占用固定的地址

FIPS能力OpenSSL有一个限制 – 它必须加载libeay32.dll在固定的地址,如果加载在任何其他地址,它没有初始化检查,所以它不能用于FIPS模式。 所以我们根据微软的build议select地址,并且在一些不时被其他地址库占用的机器上 – 比如MSVCR120_CLR0400.dll或者mscorlib.ni.dll或者clr.dll ,你就明白了。 有没有什么办法来检查是否采取了一些固定的地址+长度,并要求操作系统释放我的这部分内存,如重新启动这些DLL到其他内存部分或类似的东西? 更新: 我从ListDLLs的20个设备收集信息,有什么样的模式加载在哪里,但它远远没有明确的定义。 所以我跑了一些math,find了最大的差距,在那20个日志中没有加载任何东西,把libeay32的基地址改成那个差距的某个地方(差距比dll大6倍,所以我select了〜它的中间),仍然在几次尝试应用程序之前设法加载一些东西在libeay32之前的空白(具体 – clrjit.dll,它有0x10000000,我认为是默认的基地址),虽然在应用程序中,我尝试加载libeay32尽快地。

确定WindowsIdentity实例的嵌套组

假设我有一个WindowsIdentity的实例,并希望获得它是其成员的组。 我使用下面的代码来获取列表: WindowsIdentity identity = null; // get identity here identity.Groups.Translate(typeof(NTAccount)).Select(x => x.Value); 我得到这样的东西: "BUILTIN\\Administrators" "BUILTIN\\Users" "NT AUTHORITY\\INTERACTIVE" "CONSOLE LOGON" 我有一个以BUILTIN\\Administrators作为其成员的本地组(例如MYSPECIALGROUP )。 上面的示例中不返回MYSPECIALGROUP 。 我如何获得包括嵌套组的所有组?

在WCF和Windows服务中下载大文件

我一直在创build一个新的服务来下载大文件到客户端。 我想在Windows服务中托pipe该服务。 在服务中,我写道: public class FileTransferService : IFileTransferService { private string ConfigPath { get { return ConfigurationSettings.AppSettings["DownloadPath"]; } } private FileStream GetFileStream(string file) { string filePath = Path.Combine(this.ConfigPath, file); FileInfo fileInfo = new FileInfo(filePath); if (!fileInfo.Exists) throw new FileNotFoundException("File not found", file); return new FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read); } public RemoteFileInfo DownloadFile(DownloadRequest request) { FileStream stream […]

如何安全地保存文件到磁盘没有Windows拒绝的风险呢?

我正在开发一个winform应用程序。 我想从用户(即用户提供用户名)的input,并使用该input作为文件名的一部分,并保存到文件。 如何检查用户提供的用户名是否不包含窗口的保留字符。 什么是Windows的保留字符列表?

当创build一个新线程时,对GUI的更改没有被制作(C#)

有一些帮助,我设法创build一个新的线程,虽然方法似乎执行,方法的条件或者使绿色或红色的灯光出现,虽然当运行方法(Check1..etc)没有新线程的变化被反映在GUI上(例如Red / Green Light出现),但是当创build一个新线程并运行该方法时,这些改变不会反映在Form / GUI上。 // Method / Action to start the checks private void StartChecks_Click(object sender, EventArgs e) { Thread t = new Thread( o => { InitChecks(); }); t.Start(); } // Check1 public void Check1() { // lets grabs the info from the config! var lines = File.ReadAllLines("probe_settings.ini"); var dictionary = lines.Zip(lines.Skip(1), […]

如何为UDP数据包发送者启用自定义IP地址?

所以我正在做一个UDP数据包发送者,但我有一个问题。 我已经设置了这样,当用户点击“button2”,他们会自动发送一个数据包到我指定的IP。 我怎样才能使用户可以把自己的IP地址,并成为一个数据包发送到IP? 这是我到目前为止的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Net.Sockets; using System.Net; using System.IO; namespace ProjectTakedown { public partial class Form1 : Form { public Form1() //where the IP should be entered { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) […]

从窗口应用程序开始,用于检索安装在远程PC上的软件和硬件列表

我想创build一个应用程序,可以给我一个通过本地networking连接的计算机上安装的所有软件和硬件的描述。 在硬件描述 – 我想要的东西就像在设备pipe理器中显示的列表和软件描述我想要的所有软件安装在远程PC列表中,如“添加和删除程序”所示。 我应该如何开始这个。 我需要执行的 我之前没有使用过任何API,所以我可以实现它们。