Tag: msdn

如何使用Microsoft.Win32.Registry.OpenSubKey直接转到特定键?

现在这是一个简单的问题。 它应该在MSDN中清楚地记录。 我看了,但我找不到它。 我唯一得到的是我必须在subkey之后打开子键才能找到我感兴趣的特定键。 当然,有一种更直接的方法来访问关键3级深度。 它是什么? 我已经试过了 RegistryKey reg = Registry.LocalMachine; reg.OpenSubKey(@”Software\Microsoft”, true); // reg is still HKLM ! 和 reg.OpenSubKey(@”Software\Microsoft\”, true); // reg is still HKLM !

任何引用/ MSDN教程显示支持“if(!condition)”或“if(condition == false)”?

对于那些误读了这个问题的人:让我们假装我们在维基百科上 。 我不是在寻找“正确的方法”,我正在寻找可validation的参考资料以支持任何一方。 (请读到最后) 上下文 在对另一个主题的评论中,一个人说他的朋友会乞求我对是否的意见不一致 if (!condition) 要么 if (condition == false) 在C#中是首选。 尽管我确信我知道如何做正确的事情,但我无法找到任何证据,无论是C#编码还是设计指南,我的观点都是正式的。 问题 除了常识之外,还有什么实质性的东西可以支持任何一方吗? ( 广受赞誉的书中的一个段落或在microsoft.com上托管的任何文档, 使用或规定任何一种风格都会回答问题 )

为什么VB中的代码片段比C#更具特色?

当我阅读http://msdn.microsoft.com/en-us/library/ms165394.aspx时 : 对于VB: 在Snippet元素内,添加References元素以及在插入代码段时添加对项目的引用的所有必需子元素。 对于C# Visual C#代码片段不支持References部分,因此必须手动将对System.Windows.Forms.dll的引用添加到项目中 什么根本原因阻止C#支持像VB这样的引用? 更新:我看到这个发布http://visualstudiogallery.msdn.microsoft.com/en-us/dc06b54c-b6c4-4cf5-8203-a09c6979e881 但它甚至不像Code Snippet References那样function齐全,因为Code Snippet References允许您一次添加多个引用,而不是一个一个。 据说C#比VB.NET更“专业”,人们会期望C#更具特色而不是更有限,或者“专业”意味着你必须像“手工”那样艰难地做到这一点:p C#团队什么时候能赶上VB.NET团队?

绩效柜台类别名称? (C#)

我正在尝试在性能计数器中编程到我的C#应用​​程序中,该应用程序启动另一个进程并检查该已启动进程的处理器使用情况。 据我了解,性能计数器类要求我分配类别名称,计数器名称和进程名称。 我可以很容易地获得流程名称,但是在互联网上是否有某种类型的列表,其中包含我可以分配的所有类别和计数器名称? 我试过在MSDN上搜索这样的东西,但我没找到任何东西。 感谢您的帮助!

如何在网络上使用命名管道?

我正在尝试通过命名管道在网络上创建连接。 我正如msdn中所说的那样做。 我用function创建管道服务器端。 CreateNamedPipe( “\\\\.\\pipe\\myNamedPipe”, DUPLEX | FILE_FLAG_OVERLAPPED, 0, 255, BUFFER_SIZE, BUFFER_SIZE, 0, IntPtr.Zero); 并尝试通过CreateFile()函数进行连接 CreateFile( “\\\\10.0.0.29\\pipe\\myNamedPipe”, GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, IntPtr.Zero); 10.0.0.29是服务器机器ip。 如果我试图在服务器计算机上运行客户端程序,管道名称为“\\。\ pipe \ myNamedPipe”或“\\ 10.0.0.29 \ pipe \ myNamedPipe”(10.0.0.29是服务器IP)或“\\ localhost \ pipe \ myNamedPipe“它工作正常。 那么如何在网络上使用命名管道呢?

MSDN图表实时更改点值?

我想使用MSDN图表来表示我从telnet应用程序获取的实时数据。 出于测试目的,我添加了一个按钮来手动更改图表。 我手动制作了图表,它在X轴上有0到5个点,X上的值不同。该系列由它的默认名称“Series1”命名。 我尝试了以下方法: chart1.Series [ “系列1”] Points.ElementAt(0).SetValueY(40); //什么都没发生 chart1.Series [“Series1”]。Points.ElementAt(1).SetValueXY(1,20); //什么都没发生 。chart1.Series [ “系列1”]点[0] .SetValueY(40); //什么都没发生 chart1.Series [“Series1”]。Points.ElementAt(1).YValues.SetValue(10,0); //什么都没发生 chart1.Series [ “系列1”] Points.Clear(); //删除它应该的所有点。 那么如何在运行时更改数据点条目? -EDIT-如果我使用chart1.Series[“Series1”].Points.ElementAt(0).SetValueY(40);修改一个点chart1.Series[“Series1”].Points.ElementAt(0).SetValueY(40); 并在此之后使用chart1.Series[“Series1”].Points.AddXY(1, 40);添加一个点chart1.Series[“Series1”].Points.AddXY(1, 40); 修改后的点会捕捉到它修改过的地方。 结论是修改确实会改变点Y值,但图形不会刷新。 AddXY()函数似乎是autorefresh。 我似乎找不到手动调用Refresh()的方法。

如何可靠地在所有版本的Windows上读取用户的显示(第一个和最后一个)名称?

我发现在Windows 7 64位上,在具有域名的机器上,GetUserNameEx(3,….)应该将扩展名称格式DisplayName(== 3)放入缓冲区,工作正常。 但是,它不适用于Windows 7 32位,工作组上的vm,而不是域,它返回ERROR_NONE_MAPPED。 例如,你如何以一种适用于Windows的方式阅读该人的友好名称“Fred Smith”? GetUserNameEx显然已损坏。 实际上,没有破坏,我被告知,只是不打算为不在域上的用户工作。 我想知道为什么不存在本地SAM信息? 并且似乎没有其他直接API来执行此操作。 如果Windows为您提供ERROR_NONE_MAPPED,那么您运气不佳,可能不在域上。 所以这不是API的友好领域。 [看起来,有可能调用NetUserGetInfo来读取本地SAM信息,当不在域上时,但您需要首先知道用户名和密码,然后它可能会查找友好名称。] 相关问题:这里没有提到问题

Process.MainWindowHandle的意外行为

我一直在努力了解Process.MainWindowHandle 。 根据MSDN; “主窗口是在进程启动时创建的窗口。初始化后,可以打开其他窗口,包括Modal和TopLevel窗口,但与进程关联的第一个窗口仍然是主窗口 。” (重点补充) 但是在调试时我注意到MainWindowHandle似乎改变了价值……这是我没想到的,特别是在查阅上面的文档之后。 为了确认行为,我创建了一个带有计时器的独立WinForms应用程序,每隔100ms检查一次“DEVENV”(Visual Studio)进程的MainWindowHandle。 这是这个测试应用的有趣部分…… IntPtr oldHWnd = IntPtr.Zero; void GetMainwindowHandle() { Process[] processes = Process.GetProcessesByName(“DEVENV”); if (processes.Length!=1) return; IntPtr newHWnd = processes[0].MainWindowHandle; if (newHWnd != oldHWnd) { oldHWnd = newHWnd; textBox1.AppendText(processes[0].MainWindowHandle.ToString(“X”)+”\r\n”); } } private void timer1Tick(object sender, EventArgs e) { GetMainwindowHandle(); } 当您(例如)单击VS内的下拉菜单时,您可以看到MainWindowHandle的值发生了变化。 MainWindowHandleMystery http://sofzh.miximages.com/c%23/11ky1yb.png 也许我误解了文档。 谁能摆脱光明?

VSTO加载项,COMAddIns和RequestComAddInAutomationService

请参阅1st Edit (底部的屏幕截图): 我已经按照本文的说法让Winform应用程序触发VSTO加载项方法: http : //blogs.msdn.com/b/andreww/archive/2007/01/15/vsto-add-ins-comaddins-and -requestcomaddinautomationservice.aspx 在上面的文章的最后,作者提到了一个问题,并试图在这里改进它: http : //blogs.msdn.com/b/andreww/archive/2008/08/11/why-your-comaddin-object-should -derive从- standardolemarshalobject.aspx 我现在已经多次通过代码,并且派生StandardOleMarshalObject以改善exception的方法不起作用 ! System.InvalidCastException: Unable to cast COM object of type ‘System.__ComObject’ to interface type … This operation failed because the QueryInterface call on the COM component for the interface with IID 这是一个repro – 两个项目的目标.Net 3.5: a)创建新的Office> 2007或2010> Excel加载项: namespace ExcelAddIn1 { […]

page.DataContext不是从父Frameinheritance的?

我在Frame frame有一个页面page ,其中frame.DataContext = “foo” 。 (page.Parent as Frame).DataContext是”foo” 。 好 page.DataContext BindingExpression为null (也强制使用ClearValue)。 好 page.DataContext为null 。 但我期待“foo”! 为什么DataContext没有inheritance? 据我所知 ,Frame 沙箱的内容。 但我找不到任何关于这种行为的文件 – 有人能指出我提到这个的地方吗?