Tag: c ++

如何调用C#DLL的函数来接受来自C#的stringstream类型的参数?

我想导入一个非托管C ++ DLL并调用一个将stringstream作为参数的函数。 在C#中,没有stringstream类,所以有人能告诉我如何从C#程序调用这样的函数吗?

如何使用C#清除DataGridView中的行?

此行中出现以下错误。 datagridview1.Rows.Clear() 但这一行给出了错误: 无法清除此列表。

C#模拟按键

我正在寻找一种模拟在C#中按下右Ctrl键的方法,它必须是正确的。 我知道这可以为左边的一个做,但我找不到合适的东西。 这样我就可以模拟手动触发的bsod按键。 谢谢

寻找用于检测可移动驱动器(USB闪存)的C#代码

我正在寻找一个C#代码片段给我一个通知,说明在Windows Vista(或win7)中将USB驱动器插入我的电脑的时间

将datagridview导出到csv文件

我正在开发一个应用程序,它将我的DataGridView名为scannerDataGridView导出到csv文件。 找到一些示例代码来执行此操作,但无法使其正常工作。 顺便说一句,我的数据网格不是数据绑定到源。 当我尝试使用Streamwriter只编写列标题一切顺利,但当我尝试导出整个数据网格包括数据时,我得到一个exeption trhown。 System.NullReferenceException:未将对象引用设置为对象的实例。 在Scanmonitor.Form1.button1_Click(Object sender,EventArgs e) 这是我的代码,错误在以下行中给出: dataFromGrid = dataFromGrid +’,’+ dataRowObject.Cells [i] .Value.ToString(); //csvFileWriter = StreamWriter //scannerDataGridView = DataGridView private void button1_Click(object sender, EventArgs e) { string CsvFpath = @”C:\scanner\CSV-EXPORT.csv”; try { System.IO.StreamWriter csvFileWriter = new StreamWriter(CsvFpath, false); string columnHeaderText = “”; int countColumn = scannerDataGridView.ColumnCount – 1; if (countColumn >= […]

将OpenCV Mat转换为Texture2D?

元语境: 我正在开发一款利用opencv替代普通输入(键盘,鼠标等)的游戏。 我通过DllImports在C ++中使用Unity3D的C#脚本和opencv。 我的目标是在我的游戏中创建一个来自opencv的图像。 代码背景: 正如通常在OpenCV中所做的那样,我使用Mat来表示我的图像。 这是我导出图像字节的方式: cv::Mat _currentFrame; … extern “C” byte * EXPORT GetRawImage() { return _currentFrame.data; } 这就是我从C#导入的方式: [DllImport (“ImageInputInterface”)] private static extern IntPtr GetRawImage (); … public static void GetRawImageBytes (ref byte[] result, int arrayLength) { IntPtr a = GetRawImage (); Marshal.Copy(a, result, 0, arrayLength); FreeBuffer(a); } 从我理解OpenCV的方式来看,我希望在uchar指针中序列化时,以这种方式构造字节数组: b1, g1, […]

C#System.Net.WebException:底层连接已关闭:发送时发生意外错误

我只在一台运行Windows Server 2003的服务器上收到此错误: System.Net.WebException: 基础连接已关闭:发送时发生意外错误。 这是我的代码……有什么想法吗? HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“https:// URL HERE “); //request.Headers.Add(“Accept”, “application/xml”); byte[] bytes; bytes = System.Text.Encoding.ASCII.GetBytes(xml); request.KeepAlive = false; request.Accept = “application/xml”; request.ContentType = “application/xml; charset=’UTF-8′”; request.ContentLength = bytes.Length; request.Method = “POST”; request.Timeout = 10000; request.ServicePoint.Expect100Continue = false;

C#调用C ++ DLL传递指针到指针的参数

你能帮我解决一下这个问题吗? 我有一个C ++函数dll,它将由另一个C#应用程序调用。 我需要的function之一如下: struct DataStruct { unsigned char* data; int len; }; DLLAPI int API_ReadFile(const wchar_t* filename, DataStruct** outData); 我在C#中编写了以下代码: class CS_DataStruct { public byte[] data; public int len; } [DllImport(“ReadFile.dll”, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] private static extern int API_ReadFile([MarshalAs(UnmanagedType.LPWStr)]string filename, ref CS_DataStruct data); 不幸的是,上面的代码不起作用…我想这是因为C ++ func采用DataStruct的指针指向,而我只是传递了CS_DataStruct的引用。 我可以知道如何将指针传递给C ++函数? 如果不可能,有任何解决方法吗? (C ++ […]

如何使用DLLImport将字符串从C#传递到C ++(以及从C ++传递到C#)?

我一直在尝试向C ++发送一个字符串到/从C ++发送一个字符串很长一段时间但是没有设法让它工作呢…… 所以我的问题很简单: 有没有人知道从C#到C ++以及从C ++到C#发送字符串的方法? (一些示例代码会有所帮助)

从服务注销Windows中的交互式用户

我正试图找出一种方法来从使用C#编写的Windows服务注销本地Windows会话中的用户。 以下是问题的背景:我需要管理一组用户的计算机使用时间; 当他们的分配时间到期时,我想将它们记录下来。 这是在W2K8域的上下文中。 不幸的是,Windows中的登录时间控件只是将用户与服务器资源断开连接; 没有办法强制他们的会话通过这种方法终止。 我的方法是构建一个我将在域中部署的Windows服务; 该服务将在每台客户端计算机上运行。 服务将定期枚举计算机上的已登录用户,呼叫数据库以将自上次呼叫以来的登录时间添加到当天的总计中,如果已达到最大值,则将其注销(五分钟警告)。 注意 – 这些不是终端服务会话,它们是常规的本地交互式登录。 另请注意,由于Win7和Vista中的“切换用户”function,计算机上可能会有多个登录。 我的所有客户端PC都将运行Win7。 Windows服务将作为本地系统运行,因此权限不应成为问题。 我可以使用WMI通过用户名在计算机上成功构建登录用户列表。 这是该代码的片段: List loggedInUsers = new List(); ManagementClass mc = new ManagementClass(“Win32_Process”); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { ROOT.CIMV2.Process process = new ROOT.CIMV2.Process(mo); string domain, user; uint pid; process.GetOwner(out domain, out user); pid = process.ProcessId; if […]