Articles of .net

使用.NET获取Windows上的实际文件名(具有适当的shell)

我想和这个问题完全一样: Windows文件系统不区分大小写。 如何,给定一个文件/文件夹名称(例如“somefile”),我得到该文件/文件夹的实际名称(例如,如果资源pipe理器显示它应该返回“SomeFile”)? 但我需要在.NET中完成,我想要完整的path( D:/Temp/Foobar.xml而不是Foobar.xml )。 我看到FileInfo类的FullName没有办法。

如何以编程方式说明XP 64位和Server 2003 64位之间的区别

我有一个程序,我需要根据用户正在运行的Windows版本显示不同的链接。 使用这个答案,我能够检测到操作系统是哪个版本。 同样使用这个答案,我可以检测到我是否在32位或64位版本的操作系统上运行。 这完全适合我的需要,但是我遇到了这个页面 ,它指出Windows XP 64-Bit Edition和Windows Server 2003使用版本号5.2 。 我如何检测这两个操作系统之间的差异? 作为一个侧面说明,我需要将它们发送到不同的位置,如果他们在2003 64位或XP 64位,这里是我需要发送人的链接: 用于Windows XP的远程桌面连接(terminal服务客户端6.1) 用于Windows XP x64 Edition的远程桌面连接(terminal服务客户端6.0) 用于Windows Server 2003的远程桌面连接(terminal服务客户端6.0) 用于Windows Server 2003 x64 Edition的远程桌面连接(terminal服务客户端6.0)

由pid零拥有的TCP连接

我试图确保Windows服务程序(在.NET之上运行)正确地释放其networking连接。 在本地运行服务时,我知道它会在端口57300上创build大量的HTTP连接到本地主机。我使用netstat来监视它们是否正确释放。 我很惊讶地发现到这个端口的许多连接都属于“系统空闲进程”(PID = 0)。 在这里我们可以看到,只有三个连接属于服务程序(PID = 5012)。 其他所有都由PID 0所有。 我的主要问题是: 为什么会发生这种情况? 我需要关心吗? 但是我也想知道: 这是否意味着服务程序正确地释放了连接? 如果需要,这种连接是否会被重用? 在.NET ServicePointManager中做这样的连接“预留一个插槽”?

如何在.NET中确定CPUcaching大小?

我想知道是否有办法确定托pipe代码中的CPUcaching大小? 我正在写一个Strassen的C#matrix乘法algorithm,并且想知道我可以将多less个matrix元素放入caching中以提高计算速度。

检测外部进程是否交互式,并有任何可见的用户界面

我似乎无法find一种方法来确定一个Process是否有一个用户界面,例如一个窗口,这是用户可见的? Environment.UserInteractive对外部进程没有用处 process.MainWindowHandle != IntPtr.Zero似乎总是在我的testing中返回false? 我想区分说Notepad和conhost

如何从我的安装程序中设置此registry值

在我的.msi安装程序包中,我有一个C#自定义操作,将registry值写入: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 自定义操作是推迟的,因为我需要提升一些我试图安装的密钥的权限。 但是,因为它被延迟,所以此操作将写入系统帐户的当前用户,因为它是以提升的权限启动的,所以我的registry值实际上被写入: HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run 如何让安装程序将此registry值写入启动安装软件包的用户的registry中而不是系统帐户的registry中?

如何在通知区域创build丰富的工具提示和丰富的气球

我一直在想,每当你调用NotifyIcon类的ShowBalloonTip方法时,你会得到如下的气球工具提示: 图1:标准气球工具提示 某些应用程序和Microsoft产品能够显示比“简单”气球提示更多的内容。 这里有一些样品: 图2:Windows更新气球工具提示 驱动程序安装提示http://i.msdn.microsoft.com/dynimg/IC295019.png 图3:硬件驱动程序安装气球工具提示 图4:硬件删除工具提示(程序:USB安全删除) 仔细看图2,图3和图4,发现它们不是标准的气球工具提示! 图2具有不同的形状,可能来自设置Region属性。 它也有一个比标准ToolTipIcon大得多的自定义图标。 图3使用标准的形状(我认为),但它有一个自定义的图标,不用说是大于默认的ToolTipIcon大小。 图4使用了一个标准的ToolTipIcon,但它具有不同的形状。 我的问题是如何创build在.NET中的通知区域中看到的任何“富”气球工具提示? 我可以处理WinAPI以及它可以产生必要的输出。

如何从另一个应用程序的窗口中的控件读取数据?

我必须编写一个应用程序来观察另一个应用程序,并从窗口中提取信息。 从其他应用程序访问窗口并从其控件获取数据的最佳方式是什么?

如何拦截Windows中的物理电源button?

是否有任何方法来拦截物理电源button的事件,以便对此事件作出反应? 即: Push button -> My program catches the event -> My program performs action. 我的目标是编写一个C#程序/服务来监听电源button事件,然后打开“问我该怎么做”的closures对话框(就像在Windows XP的时代那样)。

我可以在Windows XP或7上使用最新的.NET框架吗?

我正在开发一个必须在Windows XP,7,8(桌面模式)上运行的应用程序。 我可以使用哪个版本的.net? 如果这个版本不是XP或Windows 7的默认版本,将它包含在我的应用程序安装程序中是一个好主意吗?