04 2013 档案
摘要:因为是C#,所以平台肯定是.NET了。之前因为一个小小的业务需要接触了下密码键盘的操作。其实就是简单的获取用户输入密码的操作,没碰到什么大的问题,但是查资料的过程中还是感觉查到的东西挺多的,是那种越查越多,但是又不是很关键的东西。在调用DLL中的方法的时候,我们一般要对照函数说明来把C/C++中的类型转换为.NET中相对应的类型,而且方法必须声明为静态外部函数,即加上public extern static声明头.如果不加public ,函数默认为私有函数,调用就会出错。[DllImport("COM DLL path/file")]publicextern static
阅读全文
摘要:解决办法:在你的项目属性页面里面,把是否包含unsafe代码的选项选上 在生成的tab里,有一个允许非安全代码的选项, 英文是allow unsafe code,即允许不安全代码
阅读全文
摘要:在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”解决方法: 添加属性:CallingConvention=CallingConvention.Cdecl如: [DllImport("TwiHikVision.dll", EntryPoint="Get
阅读全文
摘要:1.socket 通信传输汉字的方法:Encoding.GetEncoding("GB2312").GetString(Receivebyte) 发送接收都这样转化直接上程序 public partial class Form1 : Form { public Form1() { InitializeComponent(); } //定义委托 public delegate void ShowMessageHandel(string msg); //向控件添加显示信息 ...
阅读全文