从读卡器C#中弹出存储卡

我有一个定制开发的USB读卡器。 我使用以下代码进行交互并对设备进行迭代: http://www.codeproject.com/KB/system/usbeject.aspx 上面的代码使用以下行提供了’eject’方法: Native.CM_Request_Device_Eject_NoUi(device.InstanceHandle, IntPtr.Zero, null, 0, 0); 但是,这种“弹出”方法会卸载整个驱动器,而不是简单地弹出介质卡。 为什么这是一个问题是因为我想“弹出”媒体卡,然后放入另一个。 然而,当整个阅读器被弹出时,我必须拔出/重新插入设备才能显示备份。 在Windows资源管理器中,当我右键单击“弹出”时,它按照我想象的方式运行,它可以安全地移除存储卡而不是读卡器。 我怎样才能在c#中推动这种不同类型的弹出? 谢谢,斯蒂芬妮

捕获USB插件并拔出事件System.InvalidCastException

我正在尝试检测USB设备插入并使用WinForm桌面C#应用程序删除: public Form1() { InitializeComponent(); USB(); } 然后: private void USB() { WqlEventQuery weqQuery = new WqlEventQuery(); weqQuery.EventClassName = “__InstanceOperationEvent”; weqQuery.WithinInterval = new TimeSpan(0, 0, 3); weqQuery.Condition = @”TargetInstance ISA ‘Win32_DiskDrive'”; var m_mewWatcher = new ManagementEventWatcher(weqQuery); m_mewWatcher.EventArrived += new EventArrivedEventHandler(m_mewWatcher_EventArrived); m_mewWatcher.Start(); } 和: static void m_mewWatcher_EventArrived(object sender, EventArrivedEventArgs e) { bool bUSBEvent = false; foreach […]

检索计算机上的RAM总量

可能重复: C# – 如何获得计算机的RAM总量? 以下将检索有多少ram可用: PerformanceCounter ramCounter; ramCounter = new PerformanceCounter(“Memory”, “Available MBytes”); Console.WriteLine(“Total RAM: ” + ramCounter.NextValue().ToString() + ” MB\n\n”); 当然我们必须使用System.Diagnostics; 类。 performancecounter是否具有检索特定计算机的RAM量的任何function? 我不是在谈论使用或未使用的ram数量。 我在谈论机器的内存量。

从给定日期开始经过数月和数年的简单方法

我一直试图写这个循环,它只是变得越来越复杂。 基本上我想采取一个给定的日期并循环每个月,直到我达到当月。 因此,如果开始日期是11/1/2011,那么我想循环 11 / 2011,12 / 2011,1 / 2012,2 / 2012等 这是我开始的,但这不起作用。 一旦我遇到新的一年,我需要内部循环重新开始,而不是startdate.Month。 有没有更好的方法来循环数月和数年? 谢谢 for (var y = startdate.Year; y <= DateTime.Now.Year; y++) { for (var m = startdate.Month; m <= 12; m++) { //do something with m and y } }

C#Windows窗体代码不起作用 – 将事件附加到按钮

有人可以解释为什么下面的代码不起作用的原因? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Speaker { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(“bravo you did it”); } } […]

C# – 如何将图像从文件夹添加到数组并在listview中显示?

string[] list = Directory.GetFiles(@”Resources/”, “*.jpg”); lvDataBinding.Items.Add(list[0]); 因此,文件夹Resources包含我想要添加到数组的几个图像,因此我可以更方便地使用它们。 我需要在一个窗口中显示它们(当选择不同的listviewitem时每个窗口都显示它们)。 我想知道我是否也可以将它们与ListViewItem名称和描述一起存储在一个类中。 所以我可以这样做: Article article1= new Article(); article1.Name = “Article name”; article1.Description = “Long article description etc etc”; article1.Image= images[0]; lvDataBinding.Items.Add(artikel1); 然后上课就像这样我猜? public class Article { public string Name{ get; set; } public string Description{ get; set; } public Image? Image { get; set; } public override string […]

Asp:带链接的图像

我想在我的应用程序中放置一个图像。 当我点击它时,我想转移到另一个页面。 一般来说我的asp:image作为链接工作可能吗?

提取部分JSON响应

我是编程新手。 我目前正在开发一个map函数,它需要我在当前位置和最终位置之间获取方向,但我不知道如何从JSON RESPONSE中提取文本。 这个JSON响应是从api生成的。 这只是JSON响应的一部分。 { “attributes” : { “length” : 0.094387438, “time” : 0.2831, “text” : “Go west on _________”, “ETA” : 1365037200000, “maneuverType” : “esriDMTStraight” }, “compressedGeometry” : “+1+t1b+170r-2f-ae-2” } 我希望在我显示的代码中提取“文本”以将其显示在列表框中。 任何帮助都感激不尽。

不使用对话框调用自定义IInternetSecurityManager

你好,谢谢你的期待。 问题描述: 我已经实现了嵌入浏览器控件的ac#WinForm应用程序,并实现了IInternetSecurityManager来执行我们需要的任务,以允许在iframe中使用我们本地安装的网页进行跨域访问。 使用IInternetSecurityManager,IOleClientSite,IDocHostShowUI和IDocHostUIHandler,所有事情都按预期工作。 换句话说,我们所有的实现都被浏览器控件调用。 问题是当浏览器控件中加载的网页具有调用window.showModalDialog()的脚本时:正在使用的浏览器控件实例不再与我们的客户端站点通信。 绝对没有QueryInterface调用或在上面提到的任何接口中调用任何其他方法。 对话框中的文档没有使用我假设的安全管理器实现,因为IE显示的对话框中的Web浏览器控件与我们称为SetClientSite()的对象不同。 题: 我们如何与这个新的浏览器控件交谈? 我们需要能够在IE(我们的IInternetSecurityManager实现)所显示的对话框中提供浏览器控件。 但是,我们永远不会有机会告诉它关于我们的客户网站,可以这么说。 换句话说,没有来自IE的通信通过一个界面告诉我们,“我是一个由IE创建的新浏览器控件,这里是我的IUnknown界面。这是你设置我的客户端站点等的机会” 如果IE收到这样的通知我们会很好。 结果是正在使用两个不同的安全上下文,并且我们的应用程序在使用iframe的对话框中失败,因为我们的IInternetSecurityManager实现未被使用。 源代码示例: 我已经凿掉了源代码来保护无辜者:)并且减少了我认为你可以在自己的Visual Studio 2010解决方案中使用的东西。 请阅读ReadMe.txt文件,了解有关问题,重复步骤等的信息。 我编写的测试网页显示了指导您完成样本使用的信息和步骤。 如果您对我要完成的工作或样品不够清楚有疑问,请告诉我。 请指教。 谢谢。 http://home.comcast.net/~lowrider2112/bin/TestIEHost.rar

如何处理多个ResultSet,每个ResultSet有多个行? IDataReader.NextResult()结束Read()

如何处理多个ResultSet,每个ResultSet有多个行? 对NextResult()的调用打破了while循环。 我的一些SP返回多个ResultSet。 我正在使用NextResult()处理这些,但是当我这样做并且我的SP只有一个ResultSet时,我看到带有Read()的while循环完成后只剩下第一行。 如果没有调用NextResult()我会得到第一个ResultSet的所有行,但当然第二个和后续的ResultSet不会得到处理? using (IDataReader reader = storedProcedure.ExecuteReader( CommandBehavior.CloseConnection, parameterNames as string[], arguments)) { while (reader.Read()) { ArrayList row = new ArrayList(); for (int j = 0; j < reader.FieldCount; ++j) { object rowValue = reader.GetValue(j); row.Add(rowValue); } reader.NextResult();//next resultset, breaks out of the while } }