Articles of .net

语言栏在c#.NET中改变语言

TL; DR :尝试解决InputLanguage更改input布局但不更新语言栏显示的问题。 我正在为Trados Studio编写一个自定义插件。 其中的一部分是与应用程序本身和Word中的语言进行交互,就像这个问题一样: Windows .NET框架的所有可用语言列表 我似乎无法解决的最后一个问题是,在我使用InputLanguage设置键盘inputen-US的代码的一部分。 要说明的是, API是有限的,所以我必须在某些方面实现自动化。 最好的方法是在应用程序中使用默认的快捷方式: 首先,我将input语言改为en-US。 然后我发送一些密钥给应用程序。 然后我将input语言改回原来的样子。 然后我显示一个表单。 这里是代码: //change input language to English InputLanguage currentLang = InputLanguage.CurrentInputLanguage; InputLanguage newLang = InputLanguage.FromCulture(System.Globalization.CultureInfo.GetCultureInfo("en-US")); if (newLang == null) { MessageBox.Show("The Upload Project function requires the En-US keyboard installed.", "Missing keyboard", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } else { InputLanguage.CurrentInputLanguage = newLang; […]

如何保持ReadDirectoryChangesW缺less文件更改

有很多文件活动的时候,网上有很多关于ReadDirectoryChangesW API函数缺less文件的文章。 大多数责怪ReadDirectoryChangesW函数循环被调用的速度。 这是一个不正确的假设。 我所看到的最好的解释是在下面的post,2008年4月14日星期一下午2:15:27的评论 http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/4465cafb-f4ed-434f-89d8-c85ced6ffaa8/ 总结是ReadDirectoryChangesW函数报告文件更改,因为它们离开文件写入队列,而不是添加它们。 如果在犯罪之前添加了太多,就会失去其中一些的注意。 你可以看到这个与你的实现,如果你只是写一个程序,以真正快速生成一个目录中的超过1000个文件。 只要记下你得到的文件事件通知的数量,你会看到有些时候你不会收到所有的事件通知。 问题是,有没有人find一个可靠的方法来使用ReadDirectoryChangesW函数,而不必每次刷新卷? 这是不允许的,如果用户不是pipe理员,也可能需要一些时间才能完成。

生成机器指纹的最佳方法是什么?

我需要生成一个独特的string,这将不同的机器之间 – “设备指纹”。 什么是… 自定义实现的可能方法? (我有几个想法,但我认为你们可能有更好的) 现有解决scheme (商业/非商业都可以接受)

防止将数字粘贴到.net窗体中的文本框中

我已经阻止使用按键事件键入文本框中的数字。 但是当使用Ctrl + V或通过鼠标粘贴内容时,数字将被input到文本框中。 如何防止这一点? 除了数字,我必须允许粘贴/键入所有文本。

.net开源和运行平台select

我们被要求为一个大项目研究一个完全开源的解决scheme,他们希望这个项目尽可能接近100%的开源,主要是因为这是一个社区项目,未来可能只有很less的钱,用于主机的运行。 使用操作系统软件可节省许可成本,因为服务器将由现有的IT系统团队进行内部pipe理。 其中一个供应商是提出.net作为系统的组成,这很好,我知道.net应用程序可以正确地在GPL等开源许可下发布。 然而,因为我不是一个.net开发者,所以在涉及.net的权力方面,我有点困惑。 它是否必须是一个Windows服务器,这当然会导致更高的服务器成本和与MS产品的联系,或者可能在Linux等开源服务器上运行.net应用程序。 请不要把它变成一个MS Vs Linux的参数和好处,或者使用其中一个。 我们只是想确保我们充分了解使用.net的信息,以及它是如何开源的。 我希望能打开我的眼睛。

你能解释为什么DirectoryInfo.GetFiles产生这个IOException吗?

我有一个运行在Novellnetworking上的WinForms客户端服务器应用程序,当连接到networking上的独立Windows 2003 Server时,产生以下错误: TYPE: System.IO.IOException MSG: Logon failure: unknown user name or bad password. SOURCE: mscorlib SITE: WinIOError at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption) at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption) at System.IO.DirectoryInfo.GetFiles(String searchPattern) at Ceoimage.Basecamp.DocumentServers.ClientAccessServer.SendQueuedFiles( Int32 queueId, Int32 userId, IDocQueueFile[] queueFiles) at Ceoimage.Basecamp.ScanDocuments.DataModule.CommitDocumentToQueue( QueuedDocumentModelWithCollections […]

控制Windows 7的任务栏分组为我的应用程序

我的程序需要在用户请求时打开一系列信息窗口,并且想在Windows 7任务栏上实现某种自定义分组。 期望的function:我所有的信息窗口应该组合在一起(如果在用户系统上启用了分组,那就是),但是我的主窗口不应该与信息窗口分组。 我不能为我的信息窗口产生一个新的过程。 我的思考过程是可以有办法修改信息窗口的窗口句柄,以便让任务栏单独分组,但我真的不知道从哪里开始。 编辑 我发现了一些新的信息。 我可以用SHGetPropertyStoreForWindow做一些事情, SHGetPropertyStoreForWindow : http : //msdn.microsoft.com/en-us/library/windows/desktop/dd378459( SHGetPropertyStoreForWindow …作为任何应用程序的运行窗口的属性。 这可以通过以下两种方法之一来设置:如果一个进程拥有的不同窗口需要不同的AppUserModelID来控制任务栏分组,请使用SHGetPropertyStoreForWindow来检索窗口的属性存储,并将AppUserModelID设置为窗口属性。

通过networking共享locking行为是不同的

我一直在试图locking一个文件,以便其他克隆的服务不能访问该文件。 然后我读取文件,然后完成后移动文件。 移动是通过使用FileShare.Delete允许的。 但是在后来的testing中,我们发现如果我们正在查看networking共享,这种方法是行不通的。 我赞赏我的做法可能不是最好的,但我的具体问题是: 为什么下面的演示针对本地文件,而不是针对networking文件? 更具体的你可以是更好的,因为我发现我的search很less的信息,表明networking共享行为不同于本地磁盘。 string sourceFile = @"C:\TestFile.txt"; string localPath = @"C:\MyLocalFolder\TestFile.txt"; string networkPath = @"\\MyMachine\MyNetworkFolder\TestFile.txt"; File.WriteAllText(sourceFile, "Test data"); if (!File.Exists(localPath)) File.Copy(sourceFile, localPath); foreach (string path in new string[] { localPath, networkPath }) { using (FileStream fsLock = File.Open(path, FileMode.Open, FileAccess.ReadWrite, (FileShare.Read | FileShare.Delete))) { string target = path + ".out"; File.Move(path, […]

如何使用dotnet框架4.0提取zip文件,而无需使用第三方dll

我正在修复。 我需要从networking位置下载一个zip文件,然后在本地机器上解压缩并使用这些文件。 唯一的限制是我不能使用任何第三方的DLL。

如何获取login的本地Windows用户列表?

我正在尝试为Windows编写更快的用户切换应用程序。 Win + L和select用户是非常繁琐的。 如果我以pipe理员身份启动任务pipe理器,它会显示活动用户,我可以select一个和“连接”(如果我input密码)。 我如何获得所有用户(或所有活跃用户)的列表? 我正在使用C#(Visual Studio Express)。