我想写程序对底层进行操作,实现控制某一个物理端口收发数据,或者是设置某个设备的时钟频率这样的功能。但是用C#好像找不到到底层的途径,哪位高手曾经用C#写过这样的程序希望能给指点一下,谢谢!
解决方案 »
- datagirdview删除行问题
- 请教:插值算法的效率和质量问题
- c#里怎么实现word文档转成图形格式
- 请问如何把string转换为Datetime格式
- 为什么总是删掉源数据库里面的行??弄了很久没有正确(在线等!!)
- C#初学者求助:调用基类中的方法出错!
- 数据库问题:去掉重复记录并计算列值
- datagrid绑定一张表时,比如有两个字段,学院下拉列表和系下拉列表,能否实现在选择一个学院后,系的下拉列表中只显示和学院相关的系
- 请问如何进行web页面打印?
- C# 类似说明书式样的编辑控件
- 自启动程序最小化,无法显示自定义控件的问题
- 支持SqlServer2000/2005、Oracle、MsAccess的通用数据库访问组件发布,免费提供使用,欢迎提出宝贵意见!
但C就不用,可以使用汇编搞定它,所以,如果能不能的话,答案是是可以的,最坏的情况就是用C写一个DLL,然后用C#调用就是了
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
在os看来,串口是作为文件来读写的。可能还要用到的api还有
InitCriticalSection, //临界区,避免对缓冲区的同时访问
EnterCriticalSection,
LeaveCriticalSection,
WaitForMutipleObject, //等待事件
CreateEvent,
SetEvent,
SendMessage
等等等...
public partial class Form1 : Form
{
[DllImport("packet.dll",EntryPoint="PacketGetAdapterNames",CharSet=CharSet.Ansi)]
public static extern bool PacketGetAdapterNames([MarshalAs(UnmanagedType.LPStr)]string sStr, ref int BufferSize);
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
bool b = false;
int length = 40;
string an = new string('0',length);
b = PacketGetAdapterNames(an, ref length);
NetworkInterface[] ni = NetworkInterface.GetAllNetworkInterfaces();
label1.Text = an;
}
}