Articles of c + +

捕获屏幕截图包括.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 = […]

在C#中获取操作系统版本/友好名称

我目前正在研究一个C#项目。 我想收集用户统计信息,以更好地开发软件。 我正在使用C#的Environment.OSfunction,但它只显示操作系统的名称像微软Windows NT的东西 我想要能够检索到的是操作系统的实际已知名称,如Windows XP, Windows Vista or Windows 7等。 这可能吗?

如何从Windowsregistry中读取值

给定一些registry值的关键(例如HKEY_LOCAL_MACHINE \ blah \ blah \ blah \ foo)我怎么能: 安全地确定这样的密钥存在。 以编程方式(即用代码)得到它的价值。 我绝对不打算把任何东西写回registry(在我的职业生涯期间,如果我可以帮助它的话)。 所以我们可以跳过关于我身体中每个分子以光速爆炸的讲座,如果我不正确地写入registry。 更喜欢C ++中的答案,但大多只需要知道什么特殊的Windows API咒语得到的价值是。

启动一个Windows服务并启动cmd

我是否需要启用交互式desktp才能正常工作,以及启动EXE或cmd窗口的正确代码是什么? 即使启用它与桌面交互,我仍然无法启动服务。 我会使用一个聊天引擎,所以作为一个Windows服务来pipe理更容易。 我的代码有什么问题? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceProcess; using System.Diagnostics; using System.ComponentModel; using System.Threading; namespace MyNewService { class Program : ServiceBase { static void Main(string[] args) { } public Program() { this.ServiceName = "Chatter"; } protected override void OnStart(string[] args) { base.OnStart(args); //TODO: place your start code here ThreadStart […]

如何在没有pipe理员权限的情况下从具有pipe理员权限的进程启动新进程?

我正在为应用程序创build一个自动更新程序。 该应用程序由用户启动,并且在没有pipe理员权限的情况下运行。 autoupdater以pipe理员权限启动,在下载新文件之前终止应用程序。 当我想在autoupdater完成后启动更新的应用程序时,问题出现了。 如果我使用常规System.Diagnostics.Process.Start(文件),则应用程序也以pipe理员权限启动,并且必须在当前用户上运行才能按预期工作。 那么,如何让autoupdater作为当前用户而不是pipe理员启动应用程序? 我曾尝试使用以下内容: var pSI = new ProcessStartInfo() { UseShellExecute = false, UserName = Environment.UserName, FileName = file }; System.Diagnostics.Process.Start(pSI); 但是这会引发错误“无效的用户名或密码”。 我检查了用户名是正确的,我知道密码可能是无效的,因为我没有包括它。 但是要求用户input他/她的密码不是一个select,因为自动启动应用程序的全部原因是为了使用户更容易。 有什么build议么?

有.net的memcache端口吗?

如果有服务器实现的端口,我感兴趣。

如何正确地取消初始化OpenSSL

在我的OpenSSL客户端中,我遇到了这样的问题,即当我select静态链接libeay32和ssleay32而不是dynamic时,我从Visual Leak Detector中得到了大量的内存泄漏错误。 我在这个线程中复制了来自OP的命令,但是我还剩下6个。 然后我添加了sk_SSL_COMP_free(SSL_COMP_get_compression_methods()); 就像4LegsDrivenCat在同一个线程中所build议的一样,剩下的只剩下4个了,所有这些显然都与加载一个我用来比较服务器证书的可信证书有关。 我使用Visual Studio 2013 Express,OpenSSL 1.0.1L(32和64位),VLD 2.4RC2和我的电脑是Windows 7 64位。 下面的callstack是安全模式下VLD的64位。 在32位VLD崩溃在安全模式(虽然它在快速模式下工作,但不会产生一个像样的调用堆栈)。 我删除了引用我自己的函数以及hex数据的callstack部分。 Visual Leak Detector Version 2.4RC2 installed. WARNING: Visual Leak Detector detected memory leaks! ———- Block 5671 at 0x000000000097E9B0: 180 bytes ———- Leak Hash: 0xA14DA3AA, Count: 1, Total 180 bytes Call Stack (TID 7088): 0x000000007746FAC0 (File and line number […]

C#中的“MoveFile”function(重启后删除文件)

我需要一个例子,可以让我传递一个参数 例如执行delete.exe /killme.txt 所以它将使用“MoveFile”在重启后删除killme.txt。 虽然请不要MS预编译版本,因为它有一个恼人的免责声明,每次运行在不同的计算机上。

如何在C#中获取与文件扩展名相关的推荐程序

我想要获得与文件扩展名关联的程序的path,最好是通过Win32 API。 出现在“打开方式”菜单项目中的程序列表 显示为“打开方式…”对话框中推荐的程序列表。 UPD: 假设我在我的机器上安装了office11和office12,对于.xls的默认程序是office 11.如果看一下HKEY_CLASSES_ROOT \ Excel.Sheet.8 \ shell \ Open \ command有一个office11 excel.exe的path,但是当我右键点击文件,我可以在Open With menu项中selectoffice12。 那么这个关联存储在哪里? 我正在使用C#。 谢谢。

如何检查一个string是否包含从一个z到任何字母?

可能重复: C#正则expression式:检查“az”和“AZ” 我可以使用下面的代码: String hello = "Hello1"; Char[] convertedString = String.ToCharArray(); int errorCounter = 0; for (int i = 0; i < CreateAccountPage_PasswordBox_Password.Password.Length; i++) { if (convertedString[i].Equals('a') || convertedString[i].Equals('A') ….. || convertedString[i].Equals('z') || convertedString[i].Equals('Z')) { errorCounter++; } } if(errorCounter > 0) { //do something } 但是我想这只是一个简单的目的而已,太多了,我相信有一种更简单的方式,我还没有掌握。