Tag: .net

使用.NET 4.5.2从C#代码更改键盘布局

我正在编写我的SDL Trados Studio插件。 插件的最后一部分需要一些API完全没有公开的自动化,所以我所拥有的(保持某些东西)是自动化默认的键盘快捷键。 我的代码完全适用于英文键盘布局(以及匈牙利语!),但它当然不适用于希腊语,俄语等等。 我一直在寻找解决方案,但直到现在我都找不到它,不是在网上也不是在SO上,比如这篇文章: 通过代码改变键盘布局c# 我需要将键盘布局更改为英语,以便它可以采用正确的快捷键(和其他字符串)。 然后我需要将其切换回之前的状态。 我正在使用非常有限的API,因此我只有SendKeys我使用。 这是工作代码: //Save the document SendKeys.SendWait(“^s”); //Open files view SendKeys.SendWait(“%v”); SendKeys.SendWait(“i”); SendKeys.SendWait(“1”); Application.DoEvents(); //get url and credentials from a custom input form string[] psw = UploadData.GetPassword( Settings.GetValue(“Upload”, “Uri”, “”), Vars.wsUsername == null ? Settings.GetValue(“Upload”, “User”, “”) : Vars.wsUsername, Vars.wsPassword == null ? “” : Vars.wsPassword ); […]

错误RijndaelManaged,“填充无效,无法删除”

我有来自CryptoStream错误: 填充无效,无法删除。 码 public MemoryStream EncrypteBytes(Stream inputStream, string passPhrase, string saltValue) { RijndaelManaged RijndaelCipher = new RijndaelManaged(); RijndaelCipher.Padding = PaddingMode.PKCS7; RijndaelCipher.Mode = CipherMode.CBC; byte[] salt = Encoding.ASCII.GetBytes(saltValue); PasswordDeriveBytes password = new PasswordDeriveBytes(passPhrase, salt, “SHA1”, 2); ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(password.GetBytes(32), password.GetBytes(16)); MemoryStream memoryStream = new MemoryStream(); CryptoStream cryptoStream = new CryptoStream(memoryStream, Encryptor, CryptoStreamMode.Write); var buffer = […]

在WPF ListView中将项目显示为图像

所以我已经将List绑定到ListView ,其中List具有Album类型的项目,其中它具有许多属性,包括.Cover ,我是磁盘上的图像。 好吧,因为我不知道需要什么类型的图像以及如何加载它们(我只知道使用Winforms的图像类型),我还不知道它的类型。 有人可以使用他们的.Cover属性显示或发布一个快速示例,其中显示此类项目显示为某个固定大小的.Cover吗? 实质上,这将显示: 什么类型.Cover应该是 如何从WPF打开磁盘映像(假设它与Winforms映像加载不同) 如何在ListView上将它们显示为特定固定大小的图像,必要时缩放图像

可以在CoreCLR上使用’async’修饰符标记入口点?

在Stephan Cleary最近关于.NET CoreCLR上的异步控制台应用程序的博客文章中,他向我们展示了在CoreCLR中(当前在Visual Studio 2015上运行,CTP6),入口点“Main”实际上可以标记为async Task ,正确编译并实际运行: public class Program { public async Task Main(string[] args) { Console.WriteLine(“Hello World”); await Task.Delay(TimeSpan.FromSeconds(1)); Console.WriteLine(“Still here!”); Console.ReadLine(); } } 给出以下输出: 这是由ASP.NET团队的一篇名为“深度潜水”的博客文章强化到ASP.NET 5运行时 : 除了静态的Program.Main入口点,KRE还支持基于实例的入口点。 您甚至可以使主入口点异步并返回任务。 通过使主入口点成为实例方法,您可以将运行时环境中的服务注入到应用程序中。 我们知道,到目前为止, 无法使用’async’修饰符标记入口点 。 那么,在新的CoreCLR运行时中,这实际上是如何实现的呢?

类型的sizeof()运算符

我通常会在我的C ++代码中执行此操作: int variable = 10; int sizeOfVariable = sizeof(variable); //Returns 4 for 32-bit process 但这对C#似乎不起作用。 有模拟吗?

如何使用LockBits将黄色位图中的非黑色像素着色?

使用GetPixel和SetPixel很容易但很慢,所以我正在尝试使用LockBits。 我有很久以前做过的这种方法来比较两个图像: public static Bitmap FastComparison(Bitmap bmp1,Bitmap bmp2) { tolerancenumeric = 15; int tolerance = tolerancenumeric * tolerancenumeric + tolerancenumeric * tolerancenumeric + tolerancenumeric * tolerancenumeric; //dr * dr + dg * dg + db * db; bmp3 = new Bitmap(512,512); PixelFormat pxf = PixelFormat.Format24bppRgb; Rectangle rect = new Rectangle(0, 0, bmp1.Width, bmp1.Height); BitmapData bmpData1 […]

带引号的C#StringBuilder(forJSON)

我已经构建了一个JSON字符串(要发布到Web服务),我使用C#StringBuilder类来执行此操作。 问题是,当我插入引号时,StringBuilder类会转义它们。 我目前正在构建JSON字符串: StringBuilder dataJSON= new StringBuilder(); dataJSON.Append(“{“); dataJSON.Append(” ” + Convert.ToChar(34) + “data” + Convert.ToChar(34) + “: {“); dataJSON.Append(” ” + Convert.ToChar(34) + “urls” + Convert.ToChar(34) + “: [“); dataJSON.Append(” {” + Convert.ToChar(34) + “url” + Convert.ToChar(34) + “: ” + Convert.ToChar(34) + domain + “/” + path[0] + Convert.ToChar(34) + “}”); dataJSON.Append(” ,{” […]

FileSystemWatcher – 只有一次触发更改事件?

我正在使用以下代码来监听我从服务器下载并打开的文件的更改事件。 但是更改事件仅在第一次保存文件时被触发,然后在后续保存时文件观察者不会触发更改事件? 有谁能看到最新情况? private FileSystemWatcher StartWatchingFile() { fw = new FileSystemWatcher(); fw.Path = this.directoryLocation; fw.Filter = this.Filename; fw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite; // Add event handler fw.Changed += new FileSystemEventHandler(fw_Changed); // Open file System.Diagnostics.Process.Start(this.CreateAbsoluteFilePath(this.Filename)); // Begin watching. fw.EnableRaisingEvents = true; return fw; } //************************ void fw_Changed(object sender, FileSystemEventArgs e) { MessageBox.Show(“File: ” + e.FullPath + […]

dcomcnfg以编程方式运行

我可以找到各种关于如何为DCOM编程的东西,但实际上没有关于如何以编程方式设置/检查安全性的内容。 我不是要重新创建dcomcnfg,但如果我知道如何在C#(首选或VB.net)中重现dcomcnfg的所有function,那么我的目标就在眼前。 我似乎无法在此找到任何好的资源,没有开源API甚至是如何做每一步的快速示例。 甚至在这里DCOM或dcomcnfg返回的结果很少,而且没有真正关于如何设置/validation/列出安全性。 如果有人对开放API或某些示例有一些指示,我将不胜感激。

确定Program是否是.NET中的活动窗口

我有一个C#/。NET应用程序,我想实现以下行为: 我有一个弹出菜单。 每当用户点击应用程序中不是弹出菜单的任何内容时,我都希望关闭弹出菜单。 但是,每当用户不在应用程序中时,我都不希望发生任何事情。 我正试图通过LostFocus事件来管理这个,但是我无法确定我的应用程序是否是活动窗口。 代码看起来像这样。 private void Button_LostFocus(object sender, System.EventArgs e) { if (InActiveWindow()) { CloseMenu() } else { // not in active window, do nothing } } 我需要知道的是如何实现InActiveWindow()方法。