Posts Tagged ‘C#’
在C#调用DLL包(U3D同理)
星期四, 十二月 13th, 2012 70 views本文简单说明一下如何在Unity3D中调用一个DLL包,用法和C#调用一个DLL包一样,由于比较简单这里就直接上代码吧
1 2 3 4 5 | [DllImport("DLLNAME")]//DLLNAME为dll包的名字,不需要加.dll后缀 static extern void TestFun1();//定义一个DLL包中的方法TestFun1 [DllImport("DLLNAME")] static extern void TestFun2();//定义一个DLL包中的方法TestFun2 ... |
之后在代码中直接调用TestFun1() 和正常的C#函数一样使用即可
关于DLL包的放置位置,如果是C#中,和.exe执行文件同一个目录下即可
在Unity中应将DLL文件放置在 Assets\Plugins 文件夹下,没有就自己创建一个
就说到这里吧,本文意在分享,欢迎指着交流
BeiTown
2012.12.13
C#获取硬盘序列号
星期二, 十二月 11th, 2012 103 views本来准备直接用在U3D里的,但是无奈游戏程序一加载到该模块就完全崩溃,目前原因不明,有可能是该部分功能已经超越Unity的权限范围,不过独立的C#版本是可用的,这里先把代码发上来
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | using System.Management;//导入此命名空间 /** * 该函数返回存有硬盘序列号的字符串 **/ private string GetDiskSerial() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); String strHardDiskID = "nothing found!"; foreach (ManagementObject mo in searcher.Get()) { strHardDiskID = mo["SerialNumber"].ToString().Trim(); break; } return strHardDiskID; } catch { return "nothing found!"; } } |
基本原理就是调用API去与硬件底层交互
不过测试之后发现有些时候并不能获取到硬盘序列号
所以又有了第二种方法,代码如下
(更多…)