一、改變窗體的圖標
沒有修改之前為:
修改之后為自己想要的圖標:
需要在窗體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