Articles of .net

各种剪贴板/拖放格式是什么意思?

我正在玩拖放。 我做了一个示例应用程序,并从我的音乐文件夹中删除一个文件到我的应用程序 以下是e.Data.GetFormats()返回的内容: Shell IDList Array UsingDefaultDragImage DragImageBits DragContext DragSourceHelperFlags InShellDragLoop FileDrop FileNameW 文件名 IsShowingLayered DragWindow IsComputingImage DropDescription DisableDragText ComputedDragImage IsShowingText 这些都意味着什么,以及如何解码和使用它们? 谷歌search他们每个人没有得到任何有用的信息。

.NET中安全身份的本地化

我正在寻找在.NET中实现一个命名pipe道的服务/客户端通信,并遇到这个代码 ,当初始化pipe道的服务器端必须build立一个pipe道的安全描述符。 他们这样做: PipeSecurity pipeSecurity = new PipeSecurity(); // Allow Everyone read and write access to the pipe. pipeSecurity.SetAccessRule(new PipeAccessRule("Authenticated Users", PipeAccessRights.ReadWrite, AccessControlType.Allow)); // Allow the Administrators group full access to the pipe. pipeSecurity.SetAccessRule(new PipeAccessRule("Administrators", PipeAccessRights.FullControl, AccessControlType.Allow)); 但是我正在看,而且我很担心指定SID作为string或Authenticated Users和Administrators部分。 有什么保证他们会用中文或其他语言来称呼他们呢?

为.Net下的低完整性进程添加写访问权限

我正在创build一个FileSecurity文件创build应该有一个写访问低廉的完整性过程。 FileSecurity fileAcl = new FileSecurity(); // add everyone IdentityReference sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null); FileSystemAccessRule rule = new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow); fileAcl.AddAccessRule(rule); // add restricted sid = new SecurityIdentifier(WellKnownSidType.RestrictedCodeSid, null); rule = new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow); fileAcl.AddAccessRule(rule); // add low integrity level rights // ??? 如果有人知道如何在不调用C API的情况下做到这一点,我将不胜感激,否则我将不得不重新使用它。 提前致谢

键盘挂钩改变键的行为

我正在创build一个安装键盘钩子的程序来捕获所有键并显示一些与它们相关的文本。 但是,我遇到了一个障碍,这是一些键更改行为,当安装钩。 我会看到发布一个小的,但完整的testing程序,但现在我只是描述了这个问题。 这个问题展现在Windows 7 64位,.NET 4.0(一个C#程序)上。 我认为这些都不重要。 我的钩子通过SetWindowsHookEx自行安装,然后处理在系统中处理的所有密钥。 如果钩子方法简单地返回,或者对键的最小处理(我将发布什么改变了一秒钟的行为),则键盘按照预期在程序中起作用。 但是,如果我从User32.dll中调用这个函数ToAscii ,找出我的键盘上的OemTilde或类似的键,那么任何“覆盖下一个键”的键将停止运行。 我不知道这样的键的正确名称,但是两个撇号types,“和” , as well as 〜 and ¨,都不起作用。 例如,如果我点击~然后是N ,则显示如下: 没有安装键盘挂钩: 随着键盘挂钩安装:n(通知no〜以上) 有谁知道为什么发生这种情况,我怎么能解决这个问题? 现在我只好在其他程序中正确处理密钥,即使这意味着我将无法在自己的程序中正确检测到正确的密钥序列。 一些更多的信息: 如果我将ToAscii函数作为钩子方法的一部分,则会出现不同的问题。 像¨键是处理两次,即。 如果我打了¨一次,记事本收到两个¨¨字符,现在打N只是加了N 但是,如果我使用BeginInvoke来处理单独的线程上的键,键盘钩子方法返回后,第一个问题发生。 我的程序可能有点特别: 我不使用键盘状态(即我传递的“键状态”256字节数组只是满了0) 我不在乎死钥匙(在我的程序不会处理它们的意义上,我只关心他们,我不希望我的程序使它们对系统的其他部分无用) 就这样,我的代码最终看起来如下: private bool IsDeadKey(uint key) { return ((Hook.Interop.MapVirtualKey(key, 2) & 2147483648) == 2147483648); } void _Hook_KeyDown_Async(KeyDownEventArgs e) { var inBuffer = […]

用于Windows 98的.NET 2.0应用程序的安装程序

如何为Windows 98创build.NET 2.0应用程序的自动安装程序? 我的意思是应用程序,也为.NET 2.0,如果失踪。 我试图通过创build一个Visual Studio 2008的安装项目,但我没有成功。 我手动安装IE6 SP1,但安装程序仍崩溃。 Windows Installer 2.0已安装。 在那里安装Installer 3.0是不可能的。 我在安装程序项目先决条件取消选中安装程序,但仍不能安装应用程序 – 错误消息说,它需要更新版本的Windows。 这怎么解决?

T4输出到string

我是新来的T4,我想生成CRUD存储过程,数据访问层,输出到string,我想创build一种webservice api有用的其他程序员也只是input数据,并下载zip文件。 我search了很多,但无法find一种方法来产生输出到string,是否有可能,任何文章,链接,一些代码,如果可能的话将是有益的。 是的,我们也可以使用StringBuilder,但问题是“T4输出到string”请欢迎所有types的答案,但尝试着重于这个问题。

获取registry项的值C#

我已经看过现有的主题,所以请尽量避免在这里丢弃链接。 我想获得registry项的价值 – 简单明了。 这是我迄今为止。 registry: 1)下了一个密钥 CURRENT_USER \ SOFTWARE \ Custom_Subkey \ Custom_Value \ Custom_key \ STRING_VALUE 我正在试图findstring_value string reg_subKey = "Software\\Custom_Subkey\\Custom_Value"; RegistryKey root = Registry.CurrentUser.CreateSubKey(reg_subKey); foreach (string keyname in root.GetValueNames()) { textBox4.AppendText(keyname.ToString() + Environment.NewLine); // Appends the following data to textBox4 once the foreach is completed: // Header1 // Header2 // Header3 // […]

如何从.NET客户端应用程序加载URL

在Windows上使用C#和.NET框架从胖客户端应用程序打开URL的首选方式是什么? 我希望它使用默认的浏览器。

Xamarin Studio不能build立一个控制台应用程序

我的问题类似于: Xamarin基础。 构build失败。 查看构build日志的细节 错误37977 – 如果没有安装.NET 4.5.1,C#consoleApp模板不会生成(但4.5是) 但没有任何解决scheme有帮助。 当创build一个简单的控制台应用程序,然后build立它,IDE说: 错误:生成失败。 有关详细信息,请参阅构build日志 (安慰) 而我找不到构build日志。 日志文件夹中的文件 – Ide*.log文件说: 警告[2016-06-29 14:24:56Z]:从SystemAssemblyService请求未注册的TargetFramework“.NETFramework,Version = v4.5.1”,返回空的TargetFramework 错误[2016-06-29 14:24:56Z]:获取引用的程序集时出错System.InvalidOperationException:找不到用于程序集的兼容框架… –snip– .NET v4.5.1是否与Xamarin Studio 6.0兼容?

从registry中检索Windows密码提示

我一直在尝试以编程方式提取Windows 7的Windowslogin密码提示,并且知道可以从registryHKLM \ SAM \ SAM \ Domains \ Account \ Users \“userkey”\ UserPasswordHint中的以下位置检索它。但是,我无法弄清楚是否有任何方式找出当前login用户编程的用户名?