Tag: c ++

将char指针从C#传递给c ++函数

我被困在c#实现方面,因为我对它很陌生。 问题是,我想从c#代码传递一个’指针’(有内存),这样我的c ++应用程序就可以将pchListSoftwares缓冲区复制到pchInstalledSoftwares。 我无法弄清楚如何从c#侧传递指针。 本机c ++代码(MyNativeC ++ DLL.dll) void GetInstalledSoftwares(char* pchInstalledSoftwares){ char* pchListSoftwares = NULL; ….. ….. pchListSoftwares = (char*) malloc(255); /* code to fill pchListSoftwares buffer*/ memcpy(pchInstalledSoftwares, pchListSoftwares, 255); free(pchListSoftwares ); } 传递简单的’字符串’不起作用…… C#实现 [DllImport(“MyNativeC++DLL.dll”)] private static extern int GetInstalledSoftwares(string pchInstalledSoftwares); static void Main(string[] args) { ……… ……… string b = “”; GetInstalledSoftwares(0, b); […]

在给定行值的情况下,如何从datagridview中查找行ID?

有人可以帮我吗? 我必须从1个选定的数组中找到行号,我将其存储在一个单独的数组中并随机地尝试从datagridview获取行号 换句话说:如果我知道datagridview中给定行的列值(例如,对于此行,FirstName ==’Bud’),我如何获得行ID?

检测SQL数据库更改

考虑这个例子: INSERT INTO [Table] (column1) SELECT value1 如果我要在SSMS中执行此命令,关于ac#forms应用程序,为了识别此事件,我需要做些什么? 像发生此事件时显示MessageBox的应用程序一样简单。 我似乎无法解决这个问题或找到任何有用的数据。 我试图使用SqlDependency但没有运气。 如果那是我需要走的道路,那么任何人都可以帮助我更好地理解这个概念吗?

linq给实体生成了sql

我在ado.netentity framework中的实体中遇到了一些问题。 基本上我正在做的是这样的: var results = (from c in companies where c.Name.StartsWith(letter) select c); 并将其转换为SQL,如: WHERE (CAST(CHARINDEX(@p, [Extent1].[Name]) AS int)) = 1 这很好,但我的表有数百万的记录,所以这运行非常慢。 我需要它生成的是: WHERE Name LIKE @p + ‘%’ 我搜索高低,除了使用存储过程或使用实体sql之外,找不到任何解决方案… 有没有办法通过linq做到这一点? 可能通过某种方式将linq扩展到实体linq提供程序,或以某种方式拦截命令树或生成的查询?

将图像存储到Windows Phone 7中的独立存储中

基本上我使用Visual Studio / Expression Blend来做我的应用程序。 其工作原理在用户可以选择他/她想要编辑的图片,编辑后用户只需单击保存按钮,编辑后的图像将保存在隔离存储中,但我无法命令保存按钮保存图像进入隔离存储,所以希望有人会提前用一些示例代码帮助我。 我尝试使用下面的代码但是当我按下保存按钮时出现空参考错误。 我的想法是,当你按下保存时,应用程序不知道要将哪个图像保存到隔离存储中,并且不确定我的想法是否正确。 任何人都可以帮我这个。 非常感谢。 private void btnSave_Click(object sender, RoutedEventArgs e) { String tempJPEG = “TempJPEG”; var myStore = IsolatedStorageFile.GetUserStoreForApplication(); if (myStore.FileExists(tempJPEG)) { myStore.DeleteFile(tempJPEG); } IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempJPEG); Uri uri = new Uri(“TestImage.jpg”, UriKind.Relative); StreamResourceInfo sri = Application.GetResourceStream(uri); BitmapImage bitmap = new BitmapImage(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.SetSource(sri.Stream); WriteableBitmap wb […]

DataGridView将文本放在RowHeader的ColumnHeader中

是否可以将文本添加到RowHeader的ColumnHeader中。 我把自动增量放入我的DataGridView的Rowheaders中,我想把“不” 在那上面。 就像是: //Autoincrement RowHeaders foreach (DataGridViewRow row in myDGV.Rows) { row.HeaderCell.Value = String.Format(“{0}”, row.Index + 1); } No. | myColumn 1 | myColumn 2 1 | myText | myText 2 | myText | myText //the “No.” column are actually RowHeaders

Marshal包含可变长度数组的C结构

我想将一个带有可变长度数组的C结构编组回C#,但到目前为止,我无法获得比指向结构表示和浮点指针更好的结果。 未管理的代表: typedef float smpl_t; typedef struct { uint_t length; /**< length of buffer */ smpl_t *data; /**< data vector of length ::fvec_t.length */ } fvec_t; 管理代表: [StructLayout(LayoutKind.Sequential)] public unsafe struct fvec_t1 { public uint length; public float* data; } [DllImport(“libaubio-4.dll”, EntryPoint = “new_fvec”, PreserveSig = true, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public static […]

在C#中使用NetNamedPipeBinding获取EndpointNotFoundException; 需要创建全局命名管道

我正在运行一个Windows服务,我通过NetNamedPipeBinding发送消息。 消息从客户端应用程序发送,该应用程序由GPO触发。 我刚刚在新服务器上安装了服务和客户端,我收到以下消息: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://localhost/VOXAServices/VOXADefaultPipe that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. 没有内在的例外。 如果我通过双击桌面上的图标来运行客户端应用程序,它运行没有问题。 我管理Windows服务和客户端应用程序的代码,所以我可以改变我需要的任何东西。 但到目前为止,我非常确信绑定,合同和地址都是正确的(因为从桌面运行时一切运行正常)。 我认为问题必须是从GPO运行客户端应用程序。 但我想不出有什么理由会导致这个错误。 更新: 我在微软的网站上看到了这个: 命名管道是Windows操作系统内核中的对象,例如进程可用于通信的共享内存部分。 命名管道具有名称,可用于单台机器上的进程之间的单向或双工通信。 当在一台计算机上的不同WCF应用程序之间需要通信,并且您希望阻止来自另一台计算机的任何通信时,请使用命名管道传输。 另一个限制是,从Windows远程桌面运行的进程可能被限制为同一个Windows远程桌面会话,除非它们具有提升的权限。 ( 选择运输 ,增加重点) 我需要客户端进程在(非特权)用户的上下文中运行,并且弹出UAC对话框不是一个选项。 反正我是否允许此客户端进程提升权限,同时保持进程在用户上下文中运行而不是使用户具有特权? 更新#2: 似乎存在全局和本地(对于Windows会话)命名管道这样的事情。 我相信我的Windows服务正在创建一个本地命名管道,如果我可以强制它创建一个全局命名管道,它将解决我的问题。 (这解释了为什么我在sysinternals“Process […]

WM_KEYDOWN:如何使用它?

我正试图通过PostMessage向一个应用程序发送一个关键笔划。 我使用太Spy ++试图理解如何发送消息,因为我不完全理解它的内部工作原理。 在这张照片中,第一个项目(选定项目)是由我自己制作的实际击键。 它周围有一个红色椭圆(下图)的代码是用以下代码制作的: WinApi.PostMessage(InsideLobbyHandle, WinApi.WM_KEYDOWN, (int)WinApi.VK_UP, 1); 我想它必须与最后一个PostMessage()参数有关,但我无法弄清楚它是如何工作的。 我可以在原始键击中看到ScanCode = 48,而在我的0中,fExtended是1,而我的是0.我怎么能让它看起来一样? 在http://msdn.microsoft.com/en-us/library/ms646280(VS.85).aspx我无法理解最后一个参数的工作原理。

如何在ASP.NET中创建一个简单的是/否弹出窗口,将结果返回给我的c#?

使用ASP.NET,如何提示用户输入是/否问题并将结果返回给我的.ascx? 到目前为止,我可以使用Javascript打开一个确认对话框,但我无法返回值。 但我不知道这是不是正确的做法。