C#
Leonard_Spark
这个作者很懒,什么都没留下…
展开
-
C#通过CLR Wrapper 成托管方式调用C++编写的动态链接库
一、目的C#确实在工控行业用的很多,各种大型自动化开发平台越来越多的基于.net桌面应用的开发,但无论是winform还是WPF,速度真的是个问题,比如西门子的TIA-Portal,安装文件动辄几十G,配置稍微低的电脑运行起来卡顿的要吐血几斗。大型工控程序,还是用C/C++或其他同效率的语言开发吧!本文主要记录一下C#最简单的调用C++编写的动态库的一种方式,也是本人常用的一种方式,把核心逻辑用C/C++封装成DLL,然后基于CLR给这些DLL再做一个封装后,直接供C#使用,这样做,还有一个目的,就是原创 2021-06-12 09:39:35 · 2000 阅读 · 1 评论 -
C# 调用Win32 API的工具类
一、目的日常C#进行工控桌面应用程序开发过程中,不可避免的需要调用Win32 API, 每次都一番搜索之后,可能找到一个C描述的函数原型,还要进行转换,不少时候因为粗心敲错一个字母,自己给自己挖一个大坑。所以,在大量用到Win32 API的时候,我宁愿通过C/C++写个DLL,再用CLR Wapper成托管的库,供C#调用,不过一番折腾,也挺费劲的,前几天还是搜肠刮肚,包括借鉴网上的一些资源,搞了个C#的WIN32 API调用的静态库工具类。方便自己,也方便Everyone!二、直接上代码了usin原创 2021-05-29 10:38:08 · 752 阅读 · 0 评论 -
AutoCAD二次开发之删除图层及图层上所有的实体
可以通过调用如下方法进行删除 static public void EraseLayer(Document doc, Database db,List<string> listStrLayerName) { using (Transaction tr=db.TransactionManager.StartTransaction()) { //open layertable原创 2021-04-28 16:04:06 · 1234 阅读 · 0 评论 -
Eplan P8 API 二次开发---几种方式获取当前打开的项目
第一种–>使用ProjectManagerProject和ProjectManager类都需先使用命名空间using Eplan.EplApi.DataModel;可以使用方法GetCurrentProjectWithDialog获取当前正在打开的项目//如果当前Eplan打开了多个项目,则系统自动弹出对话框,供用户选择具体项目Project project = new ProjectManager().GetCurrentProjectWithDialog();也可以使用ProjectM原创 2021-04-25 21:07:44 · 1365 阅读 · 0 评论 -
AutoCAD C# 二次开发项目----批量替换块(4)
2.SCR文件的创建SCR文件是AutoCAD的命令脚本,可以组合各种命令,然后交由AutoCAD进行批处理执行。为了达到我这个项目的目的,我的这个SCR文件比较简单,创建一个BatchCAD.SCR文件,然后用记事本打开,添加如下代码;不保存bak文件ISAVEBAK 0;不接收命令反馈cmdecho 0;安全加载级别将至0SECURELOAD0;使用netload加载我之前开发的dllnetload"C:\Users\Admin\Desktop\File\CADSmart.dll原创 2021-04-17 21:07:52 · 725 阅读 · 0 评论