Articles of .net

为什么通过WMI只应用一次静态IP地址?

我即将编写一个简单的networkingconfiguration工具,可以静态设置IP地址等,也可以通过WMI自动设置(DHCP)。 不幸的是,设置地址静态工作只是一次! 所以当你运行下面的testing函数时,一切都很完美(不要忘记// DYNAMIC的断点!)。 但在第二次,当您检查networking适配器的IP地址和子网掩码的控制面板的属性页中的结果保持空! 当然,没有抛出exception,并且方法调用的结果总是为零(0)。 代码在两台不同的Windows 7机器上进行了testing,当然还有pipe理员。 void Test() { // find management object ManagementClass networkManagementClass = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection networkManagement = networkManagementClass.GetInstances(); ManagementObject adapter = null; foreach (ManagementObject mo in networkManagement) { if ((bool)mo["IPEnabled"] && (string)mo["Caption"] == "[00000012] Intel(R) 82577LM Gigabit Network Connection") { adapter = mo; break; } } // STATIC var […]

强制Windows显示系统托盘图标

这是一个非常愚蠢的问题,但是这里有: 有没有办法(在.net中)强制Windows显示您的系统托盘图标,而不是隐藏它? 我不想一直这样做,但至less在第一次运行我的应用程序时,我希望它在系统托盘中可见。

为什么Process.MainWindowTitle总是空的,除了一个窗口?

当访问Process.MainWindowTitle如下… Process[] processes = Process.GetProcessesByName( "iexplore" ); …然后遍历结果数组,我总是以MainWindowTitle为空,除了数组中的一个MainWindowTitle ,其余都是空的。 在我的情况下,我打开了两个Internet Explorer窗口,一个带有一个选项卡,另一个带有两个选项卡。 运行我的代码,我总是得到窗口和标签,我上次活动的主窗口标题 – 所有其他人保持空白。 奇怪的是,填充MainWindowTitle的进程ID总是相同的 – 如果我在运行代码之前激活另一个IE窗口或Tab,进程ID总是相同的: if ( !processes.Any() ) { MessageBox.Show( "TODO – No matching process found" ); return; } if ( processes.Count() > 1 ) { foreach ( Process currentProcess in processes ) { // More than one matching process found checkedListBox1.Items.Add( […]

如何从Web服务器打印格式化的文本并确认打印成功?

我正在尝试构build一个系统,它将从Web服务器下载格式化的文本,打印格式化的文本,确认打印作业已成功完成,然后响应Web服务器以使其知道文本已打印。 全部没有用户input。 我已经成功地使用Web浏览器控件来下载HTML,然后打印它,而不需要用户input。 然而,这不能确认印刷。 它看起来像在System.Printing中,您可以访问PrintServer和PrintQueue,并使用它们来启动打印作业并查找打印作业的状态。 我还没有能够确认一个打印工作,但我已经能够开始简单的打印。 但是,这并不包含任何来自Web服务器的HTML格式。 我没有绑定到HTML,但它必须是可以由Web服务器产生的一些格式,所以可以改变而不需要更新客户端应用程序。 如何从Web服务器打印输出,格式正确,并知道打印作业是成功还是失败?

Windows – 用C#命名pipe道性能build议

我目前正在使用.NET / C#评估Windows上IPC的命名pipe道。 我目前正在寻找一个单一的生产者,一个消费者的情况。 有没有好的性能考虑指导方针? 在我的第一个testing案例中,我比较了大消息和小消息的速度,似乎是大(64k)消息发送的速度和小(48字节)的包一样快。 这是与默认参数。 我可能会添加更多的testing场景,但是这非常耗时,因此我正在寻找指导方针。

.NET:ListView的TopItem属性失败,并显示“ShowGroups”= true

我有一个ListView显示约300项。 当有东西被改变,我需要重新填充列表,我希望滚动位置不变,所以相同的项目仍然可见,并在列表中的相同位置。 “EnsureVisible”方法很糟糕,因为它符合“Visible”,而不是相同的位置(结果是感兴趣的项目总是滚动到列表的底部)。 我对这个问题的解决scheme是保存(我的)“ID”的List-> TopItem,重新填写列表,然后调用List-> TopItem = newItemWithSameID(需要设置两次,出于某种原因工作)。 这对于基本的“未分组”列表来说是一种魅力。 但是 – 如果列表中有“ShowGroups = true”,这是行不通的。 TopItem属性将永远是列表中的第一个项目,而不是文档中所说的第一个VISIBLE项目。 有解决scheme吗? 我search了一下,发现了另一个失去灵魂的同样的问题。 他有一个相当有趣的讨论微软的支持,没有成功。(http://social.msdn.microsoft.com/Forums/en/winforms/thread/8a81c5a6-251c-4bf9-91c5-a937b5cfe9f3)。 所以 – 我的问题是:有没有解决方法? 我真的需要把这个列表分组,当我的列表跳转时,我真的很讨厌。 我不会在这里粘贴任何代码,因为所有需要重现的代码都在上面的讨论中。 非常感谢!

捕获屏幕截图包括.NET中的半透明窗口

我想要一个相对黑客的方式来做到这一点,任何想法? 例如,下面的截图不包含半透明窗口: Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown Text = "Opaque Window" Dim win2 As New Form win2.Opacity = 0.5 win2.Text = "Tranparent Window" win2.Show() win2.Top = Top + 50 win2.Left = Left() + 50 Dim bounds As Rectangle = System.Windows.Forms.Screen.GetBounds(Point.Empty) Using bmp As Bitmap = […]

在Windows XP,Vista和7上安装了什么版本的.NET框架?

我有一个使用.NET框架3.5的应用程序。 我正在为一所大学build立这个应用程序来帮助学生学习。 大多math生通常使用Windows XP SP2,Windows Vista或Windows 7.(对不起Mac用户!Mac版本将在6个月左右出现)在Windows XP,Vista和7上安装了.NET Framework的哪个版本; 我的应用程序会运行在所有这些平台上吗?

如何使用C#代码获取IIS虚拟目录和Web应用程序的物理path?

我正在用C#编写一个Web应用程序部署validation工具。 我需要检查Web Applicatons和Virtual Folders的物理文件夹结构。 这可以在C#中完成吗? 或者更一般地说,通过C#代码与IIS交互? 我发现这个链接,并会读回家。 谢谢。

如何以编程方式停止Windows服务

关于编程Windows服务:如何停止我的Windows服务? 这是一个非常简化的示例代码(C#): // Here is my service class (MyTestService.cs). public class MyTestService:ServiceBase{ // Constructor. public MyTestService(){ this.ServiceName = "My Test Service"; return; } }; // My application class (ApplicationClass.cs). public static class ApplicationClass{ // Here is main Main() method. public static void Main(){ // 1. Creating a service instance // and running it using ServiceBase. […]