随笔分类 -  C#学习

C# 下添加C++动态库
摘要:这个网上很多。但是没有能运行起来的。自己经过一周多的摸索进行稍微总结下。首先是C++下的声明:头文件:extern "C" _declspec(dllexport)int Add(int sm);Cpp文件:int Add(int sm){ int insx=20; sm=insx+sm; return sm;}生成dll把所生成的拷到C#的bin/debug下在C#下调用:[DllImport("mediastream.dll", EntryPoint = "Add", CharSet = CharSet.Auto, Calling 阅读全文

posted @ 2011-08-22 17:35 静幽独白 阅读(682) 评论(1) 推荐(0) 编辑

转载:C#调用DLL的研究
摘要:C#程序实现动态调用DLL的研究摘要:在《csdn开发高手》2004年第03期中的《化功大法——将DLL嵌入EXE》一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“DLL Hell”提供了一种解决方案。这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似的VB程序,但在某一技术论坛上提起这种设计方法时,有网友提出:“这种方法好是好,但就是启动速度太慢”。这是因为程序启动时实现DLL释放,然后再加载释放出来的DLL,这个过程会 阅读全文

posted @ 2011-08-15 09:16 静幽独白 阅读(603) 评论(0) 推荐(0) 编辑

C# 树形控件节点拖动
摘要:在C#环境下实现树形控件节点的拖动。废话不多说先上图。。拖动选中的节点。然后释放。。拖动部分的代码:首先把树形控件和面板的属性AllowDrop改为True。树形控件的ItemDrag事件:private void treeView1_ItemDrag(object sender, ItemDragEventArgs e){ if (e.Button == MouseButtons.Left) { DoDragDrop(e.Item, DragDropEffects.Move); isMouseDown = true; } }树形控件的DragEnter事件:private void tree 阅读全文

posted @ 2011-08-08 19:05 静幽独白 阅读(1813) 评论(0) 推荐(1) 编辑

导航

点击右上角即可分享
微信分享提示