TYPE ICR_CommandCtrlInfo
lpszComPort as String
dwBaudRate as Long
hInstance as Long
ICR_EventPRoc as Long
lpvArglist as Long
lpvReservedl as Long
lpvReserved2 as Long
End TYPEdeclare Function ICR_OpenCommand Lib "DLL的名字"(lpInof as ICR_CommandCtrlInfo) As Long
lpszComPort as String
dwBaudRate as Long
hInstance as Long
ICR_EventPRoc as Long
lpvArglist as Long
lpvReservedl as Long
lpvReserved2 as Long
End TYPEdeclare Function ICR_OpenCommand Lib "DLL的名字"(lpInof as ICR_CommandCtrlInfo) As Long
解决方案 »
- 感谢网友worldy的无私帮助,成功做出完美上位机软件
- 关于vb中webbrowser控件如何提交的问题?
- 简当问题:操作ACCESS时如何定位数据的问题,
- 为什么我对表进行修改总是出错啊?在线等大家的回答
- 初学者的困惑 me函数
- win2000 下利用ExitWindowsEx 关机的问题
- 一个关于字符串的小问题
- 请问局域网中SEAGATE以IP地址为基础上网的原理是怎么样的呢?它如何判断是从那个IP发来的请求呢?
- 怎样转换字符串!!!!!!!!!中英文混合文本实现跑马灯存在的问题??
- *********************请各位大侠,给俺一段小程序找找错(一个循环的小问题),来者有分噢!!!****************************谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
- 在数据库中提取记录集之后,怎样把已经浏览过的数据不再做重复的判断了?
- 请问VB中如何打开一个文件夹?
lpszComPort as String * 4 '这个地方是不是应该加上长度.
dwBaudRate as Long
hInstance as Long
ICR_EventPRoc as Long
lpvArglist as Long
lpvReservedl as Long
lpvReserved2 as Long
End TYPEdeclare Function ICR_OpenCommand Lib "DLL的名字"(lpInof as ICR_CommandCtrlInfo) As Long
TYPE ICR_CommandCtrlInfo
lpszComPort as Long
dwBaudRate as Long
hInstance as Long
ICR_EventPRoc as Long
lpvArglist as Long
lpvReservedl as Long
lpvReserved2 as Long
End TYPE
别搞错了,LPCSTR是C字符串的指针类型。
所以传入lpszComPort应该传入字符串的指针StrPtr(ComPort)还有,那个API是stdcall调用规范的吗?如果不是的,那么上面的声明也都是错的拉,呵呵,VB只支持stdcall,呵呵,不太清楚WINAPI这个宏
怎么知道符合不符合stdcall?
从这里看不出来吗?
__EXPORT_TYPE DWORD WINAPI ICR_OpenCommand(const lpICR_CommadCtrlInfo lpInfo); //command transmit and receive port open
info.lpszComPort = StrPtr("COM1") 'info.lpszComPort = "COM1"
info.dwBaudRate = 19200
info.hInstance = Me.hDC
info.ICR_EventPRoc = 0
info.lpvArglist = 0
info.lpvReservedl = 0
info.lpvReserved2 = 0ICR_OpenCommand (info)
我这样调用,但出现编译错误:
Variable reauired--can't assign to this experssion参数在文档中是这样说明的:
lpszComPort:
A pointer to designate a string which ends with NULL as a name of device of serial port, such as "COM1","COM2". dwBaudRate:
Designates transmission speed. (1200, 2400, 4800, 9600, 19200, 38400) hInstance:
Designates the instance handle of application.(argument of WinMain() ICR_EventProc:
Designates the address of call back function.When designates NULL, does not call a call back function. lpvArglist:
Designates the pointer to pass to a call back function.
Almost the same role as lpvThreadParm of CreateThread() lpvReserved1:
Reserved area. Sets NULL. lpvReserved2:
Reserved area. Sets NULL.
因为这只是一个初始化命令,callback不要也可以,其他参数应该给什么值?
hInstance:Designates the instance handle of application
程序的句柄咯,应该给什么?
info.hInstance=?
info.lpszComPort = "COM1"
因为我发现很多API调字符串的时候都是这样直接传的
而hInstance我觉得传DC过去是不对的,它应该是指向一个进程实例的句柄,我想填个0应该可以吧?