一、改变窗体的图标

没有修改之前为:



修改之后为自己想要的图标:



需要在窗体Form1.cs属性里边添加icon图片文件:

二、新建cs类文件

如下图所示,新建一个类文件,我用于来调用库文件也可以来定义变量等。



在工程文件依次右键去选择,如下图所示:

三、C#调用C++生成的dll库

1、在新建的类文件中声明 命名空间using System.Runtime.InteropServices,用于访问非托管 API 的平台调用。

2、调用外部C++生成的DLL库,涉及到C++的数据类型转化为C#的数据类型。

3、直接使用DllImport外部Dll。

4、对于CallingConvention = CallingConvention.Cdecl调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices; namespace IMI_101_CanApp
{
class CallDll
{
[StructLayout(LayoutKind.Sequential)] //用于强制将成员按其出现的顺序进行顺序布局
public struct WzCan_InitConfig
{
public byte BaudRate;
} [DllImport("WzCanDll.dll", EntryPoint = "WzCan_DeviceConnect", CallingConvention = CallingConvention.Cdecl)] //调用外部dll库 有参数传入
public static extern byte WzCan_DeviceConnect(WzCan_InitConfig pInitConfig); [DllImport("WzCanDll.dll", EntryPoint = "WzCan_CloseDeviceConnect", CallingConvention = CallingConvention.Cdecl)] //调用外部dll库
public static extern bool WzCan_CloseDeviceConnect(); [DllImport("WzCanDll.dll", EntryPoint = "fnWzCanDll")] //调用外部dll库 无参数传入
public static extern byte fnWzCanDll();
}
}

四、参考文档

http://blog.csdn.net/feiyingzaishi/article/details/72870247

https://www.cnblogs.com/ppchouyou/archive/2008/03/31/1131593.html

https://www.cnblogs.com/shuenjian901/p/3408514.html

http://bbs.csdn.net/topics/392056294

https://www.cnblogs.com/gosteps/p/5519896.html

http://blog.csdn.net/u011981242/article/details/52622923

http://www.xuebuyuan.com/645807.html

by 羊羊得亿

2017-12-21 ShenZhen

C#之改变窗体icon图标、新建类文件、调用dll库的更多相关文章

  1. Swift: 在Swift中桥接OC文件(自己创建的类文件、第三方库文件)

    一.介绍 随着Swift的逐渐成熟,使用swift开发或者混合开发已经成为了一个趋势,本身苹果公司也十分推荐使用Swift这门新语言.目前Swift已经更新到了3.0,估计没有多久4.0就要出来了.那 ...

  2. C# 通过反射类动态调用DLL方法

    网上看了很多关于反射的思路和方法,发现这个还算不错 //使用反射方: using System; using System.Collections.Generic; using System.Linq ...

  3. Ext.Net TreePanel 修改Icon图标

    分类: Ext.Net2012-09-24 13:44 1779人阅读 评论(0) 收藏 举报 webformserverextassemblyxhtmlobject 1.默认icon 2.自定义ic ...

  4. 解决网页ICON图标无法显示的问题

    第一步:检查下“<link rel="shortcut icon" href="http://www.bhcode.net/favicon.ico" ty ...

  5. Visual Studio 2015 改变窗体图标 & 任意位置打开窗体 & 禁止鼠标改动窗体大小

    1.改变窗体图标 先把图标放到项目文件夹中,然后点击窗体属性的ICON添加即可. 参考:https://www.cnblogs.com/yangxuli/p/8075484.html?tdsource ...

  6. MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致

    1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...

  7. 3D教育类小图标_三维立体学习类icon图标素材

    3D教育类小图标_三维立体学习类icon图标素材

  8. Autorun.inf文件(2):改变硬盘分区图标

    改变F盘图标. 原理:在f盘下新建一个Autorun.inf文件,文件内容是 [AutoRun]icon=favicon.ico准备名为favicon.ico图标文件,将其放在工程目录里,设计程序将它 ...

  9. 在网页中制作icon图标

    用字体在网页中画icon图标 第一步:获取字体资源IconMoon网站https://icomoon.io iconMoon中有很多免费小图标可用,还能设置下载图标的使用属性(通过网站中设立的按钮pr ...

随机推荐

  1. 全球NTP服务器列表

    全球- pool.ntp.org 欧洲- europe.pool.ntp.org 亚洲- asia.pool.ntp.org 大洋洲- oceania.pool.ntp.org 北美- north-a ...

  2. 数组的filter用法

    filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素. 语法:var new_array = arr.filter(callback(element[, index[, a ...

  3. vue自定义select组件

    1.目的 看了很多element-ui的源码,决定自己实现一个简单的select组件,遇到的几个难点,便记录下来. 2.难点一 element-ui中的select组件通过v-model可以绑定数据, ...

  4. CF343E Pumping Stations(最小割树)

    没学过最小割树的出门左转. 我们已经知道了两点的最小割就是最小割树上,对应两点之间路径的权值的最小值. 找到最小割树中权值的最小的边. 那么一定是先选完一侧的点在选完另一侧的点. 因为当前边最小,那么 ...

  5. 流媒体应用程序Mobdro或存在安全隐患

    Mobdro是一款流媒体应用程序,可以安装在任何Android设备上,包括手机,平板电脑,亚马逊的Fire TV Stick和Google的Chromecast.它现在已经流行了一段时间,特别是在围绕 ...

  6. ArcGIS 安装

    百度网盘下载链接 密码:tvm6 打开解压的文件后,第一步为安装licence manager(安装监听) 打开\ArcGIS10.4\LicenseManager中的Setup.exe 傻瓜式安装 ...

  7. js如何实现php的in_array()

    var arr = [ 4, "Pete", 8, "John" ]; jQuery.inArray("John", arr); //3 j ...

  8. navicat连接SQL Sever数据库出现的问题

    1.navicat 连接sqlserver提示要安装 sql server native client 解决办法:在navicat安装目录下有个sqlncli_x64.msi文件,双击安装一直下一步就 ...

  9. duang!!!为什么函数能够返回unique_ptr

    C++虐我千百遍,我待C++如初恋 从智能指针说起 对高手而言.指针是上天入地的神器.对新手而言,那简直是灾难的源泉.高级语言如Java,C#都自己主动管理内存.你仅仅管new.不必担心内存释放问题. ...

  10. 开源ETL工具kettle--数据迁移

    背景 因为项目的需求,须要将数据从Oracle迁移到MSSQL,不是简单的数据复制,而是表结构和字段名都不一样.甚至须要处理编码规范不一致的情况,例如以下图所看到的 watermark/2/text/ ...