【c# – 使用C将托管事件公开给COM】教程文章相关的互联网学习教程文章

javascript – 作为就业申请的一部分,在c#MVC3(非托管)的应用程序上书写签名

我正在尝试找到类似于http://www.tenstreet.com的解决方案.我试过环顾互联网和sourceforge,但我发现的一切都是关于加密数字签名(我将使用,但不是我缺乏的),而不是图像数字签名.我发现了很多托管解决方案,但由于我们业务的性质,托管解决方案是不可能的(我工作的地方几乎必须在内部完成). 如果这没有意义,我会解释背景.我们是一家货运公司,我们的驱动程序应用程序的一部分是签名发布表.我们目前需要传真该表格以获取签名并等待其传真...

c# – 我应该为非托管C DLL创建一个C/C++LI包装器DLL吗?

我已经提供了一个包含几个类的非托管C DLL. 我需要能够在C#中使用其中一些类.根据我到目前为止的研究,听起来我需要创建一个C/C++LI包装器DLL来处理托管和非托管类型之间的转换.我已经看到一些例子,其中某人基本上会创建每个类的C/C++LI版本,并且它将包含非托管C类型的实例.实现我在这里尝试做的最好的方法是什么?非托管DLL中可能提供了10-15个类.现在我只需要使用其中的一些,但将来可能需要使用更多.谢谢!解决方法:是的,您需要为...

为什么C#PInvoke不能与非托管DirectX一起使用

我已经使用C#一年了,我知道你可以通过interop / PInvoke从C#访问本机代码.我刚刚开始学习DirectX,并了解到使用DirectX和c#的几种方法之一就是使用像SharpDX这样的包装器,这是用c编写的包装而不是C#.我的问题是;因为C#支持互操作性并允许程序员访问本机dll / com对象.对于DirectX dll / coms,这种支持无效.我很困惑解决方法:这是不正确的. SharpDX是一个纯C#包装器,它通过.NET程序集上的IL字节码后处理使用一些C/C++LI技术.有关详细...

将非托管c类库暴露给c#

事实上,我有两个未损坏的c库,其中一个使用另一个.两者都很大,所以重写对我来说不是一个选择. 我读了一些关于创建托管c库的东西,它围绕非托管代码.但我不知道如何开始,以及如何在一个项目中结合所有这些东西…… 有没有一步一步的指南或如何做到这一点的易于理解的例子? TIA解决方法:您可以考虑使用ATL为C代码编写COM包装器.我将在blog post中展示如何执行此操作.这就是Microsoft公开他们在C中编写的功能的方式(例如Windows 7库功能...

将非托管C代码转换为C#

任何指向工具/实用程序的人都可以将非托管c转换为c#?我已经尝试了http://www.pinvoke.net/网站,但我无法在此question上找到对此API AddUsersToEncryptedFile的引用.解决方法:一般来说这很难,因为C提供的功能与C#不同:模板,朋友,零终止字符串,非托管指针,COM等,更不用说解析C是一个工作的婊子. 要做到这一点,你需要一个具有名称和类型解析的完整C解析器,一组关于如何将每个构造(有问题或无问题)转换为等效C#代码的想法,将这些想法...

将托管C#中的字符串传递给托管C【代码】

在C和C#之间传递字符串的首选方法是什么? 我有一个c类,其中一个函数将char const * const作为参数. 我将如何在C#中调用此函数?只是使用c#-string似乎不起作用,因为C#中的函数需要一个sbyte * C类:public ref class MyClass { public:void Sample(char const * const Name); }错误2参数’1’:无法从’string’转换为’sbyte *’ 谢谢!解决方法:如果您使用的是托管C,则可以使用System.String类

C#中的非托管C类

我可以从C#代码中实例化和“使用”非托管C类(比如使用DllImport等)吗?解决方法:在Windows上,您可以使用COM interop来使用C.但是,这不适用于Linux / Mac OS X. 另一种方法是在C类周围公开一个C包装器(C中的外部“C”).这是必要的,因为DllImport期望C ABI. 编辑:第三个替代方案是C++/CLI,即编译.Net的C代码.这也是一个仅限Windows的解决方案.

从c#调用的托管c中的类【代码】

我在托管c dll中有一个decalred类public class IPHelper { public:static void CheckIP(LPWSTR pSocketName);static void DebugMessage(const wchar_t *str, ...); private: static DWORD GetIPInformation(PSOCKET_RECORD &pInfo); };我成功编译并添加它作为我的c#项目的参考.我可以使用命名空间,但是这个类似乎是空的,我无法调用其中的函数. 有任何想法吗?解决方法:该类不受管理,它是原生的.如果要从托管代码中使用它,则...

c# – 包装托管代码以供非托管使用【代码】

我们有一个很大的C项目,它被编译为本机非托管代码.我们需要使用托管代码中的一个功能,但我们不想在/ clr中编译整个项目. 所以我创建了一个DLL,有一个名为B的ref类,它在导出的本机类A中公开.问题是我得到了一个C1190:由于vcclr.h包含,托管目标代码需要’/ clr’选项. 我想知道是否有办法创建某种在非托管方法中具有托管代码的接口. 这是我的代码:#pragma once #include "EX_Port.h" #include <vcclr.h>ref class B;class EX_API A...

c# – 使用DllImport将非托管dll加载到托管应用程序中【代码】

在我的项目中,我有一个非托管的本机C dll和一个C#应用程序.我试图使用DllImport从非托管DLL导入一个函数,但我一直得到一个DllNotFoundException. 这是我调用DLL的代码.using System.Runtime.InteropServices; namespace TestApp {public delegate void UpdateDelegate(string s);class Program{[DllImport("CGPUnmanagedLibrary.dll")]internal static extern int parse_raw_gsod_file( [MarshalAs(UnmanagedType.LPStr)] ...

c# – 一起调试托管和非托管代码

我的主要启动项目是c.该解决方案还涉及托管的c#代码.当我调试时 – 我只在非托管部分上有断点(在托管断点上它指出:“断点当前不会被命中.无效的文件行” 我检查了引用,发现那里有dll和pdb. 会是什么呢?解决方法:如何设置混合模式调试http://msdn.microsoft.com/en-us/library/kbaht4dh(v=vs.100).aspx 并且不要错过底部的链接.

从C#调用非托管C库(dll)会产生访问冲突错误(0xc0000005)【代码】

很抱歉这个问题很长.我只是想包括我目前对这个问题所知的一切. 我正在使用Visual Studio 2008在C#中创建一个Windows表单程序,该程序调用用C编写的库.C DLL分析测量数据,该数据由几个样本组成.样本通过函数(PDSetWaveSample)传递给库,该函数将结构作为参数.在设置所有样本之后,使用另一个函数(PDPreProcess)处理测量数据,该函数还将结构作为参数.C DLL将所有测量数据保存在其内部数据结构中,并进行所有处理以获得结果. 在程序开始处...

c# – 我如何在托管WebBrowser控件的应用程序中调用WebBrowser控件查看的页面中的JavaScript函数?【代码】

我创建了一个C#桌面应用程序,它依赖于Web爬虫的想法. 我使用Web浏览器控件创建了我的应用程序来打开一个网站并按计划登录并重定向到具有gridview的特定页面,其中包含我要收集的所有用户数据… 但是这里的问题是网格视图中的用户名点击了JavaScript函数.我知道它的名字,但不知道如何在桌面应用程序中调用它. 允许我这样做的命名空间或DLL是什么?解决方法:我认为这可以帮助你: http://www.west-wind.com/WebLog/posts/493536.aspx ...

c# – 如何在本地托管.Net Bot应用程序

我们有一个客户端要求,Bot应用程序应该托管在本地,所有的Web聊天通信都直接进入Web服务器.我打算开发一个Bot .Net应用程序并配置网络聊天频道.我想知道是否可以在本地配置Bot应用程序 >如何在本地设置Web聊天?>如何跳过Bot注册并避免邮件路由?>我是否必须构建一个服务来处理Web服务器中的所有请求和响应?>如果我使用网络聊天客户端数据是如何安全的以及机器人服务如何将请求路由到Webapp? 如果我使用网络聊天,客户端数据是如何...

C#托管代码引用类型问题【代码】

我有一个包含一些属性的类,包括列表.这些列表可以填充一些可能相当占用内存的Sharepoint对象. 我将这个类及其列表属性传递给我的函数,如下所示:public void InsertFixedLineItems(CacheBundle cb){ //work here}正如您所看到的那样,有问题的类型称为CacheBundle,并且在运行时它的人口密集. 为了便于使用,我想进一步本地化精确的列表属性,如下所示:public void InsertFixedLineItems(CacheBundle cb){List<XYZCacheItem> XYZCache...