WINCE设备通过async与pc机连接,CE端如何知道已经连接上,是否可用RAPI得知?
在PC机端用VC6.0调用RAPI函数,可以通过CeRapiInit()或CeRapiInitEx()函数知道是否与CE设备已经正常连接上,但是我把这段代码该写到EVC上,编译怎么都通不过(已经加了Rapi.h和Rapi.lib文件),后来上网得知RAPI是给PC端用的,不知道是不是这样的,还有那CE设备端要如何才能知道是否与PC机正常连接?
在CE设备端有没有函数可以知道已与PC机正常连接上(通过ActiveSync)
RAPI是PC機上來獲取連接的,PDA那塊還沒有試過,關注中。。。
我在书中看到可以用CeRunAppAtEvent函数来得知是否已经连接成功,其中用NOTIFICATION_EVENT_SYNC_END事件,但是我在调用CeRunAppAtEvent这个函数时,返回flase,也是就没调用成功,不知道为什么,有谁用过这个函数吗?可否解释一下,麻烦了!
今天早上试了一下,CeRunAppAtEvent已经可以返回TRUE了,可是没有运行里面注册的可执行文件,感觉应该是没有事件触发过来,也就是当同步连接上时没有NOTIFICATION_EVENT_RS232_DETECTED或NOTIFICATION_EVENT_SYNC_END事件触发,我查了一下BSP没有找到NOTIFICATION_EVENT_SYNC_END,不过在serial和usb驱动里找到了NOTIFICATION_EVENT_RS232_DETECTED发生事件,接下来将进一步跟踪调试,不知道哪位兄弟有这样的经历,还望
指教!
已解决!还是自己没仔细,今天又看了一下MSDN里对CeRunAppAtEvent函数的解释,发现还是自己没看仔细啊!
以下是MSDN里载出来的
Remarks
The application is started with a system-defined command line. If there was already an instance of the application running, the new instance must send a private message to the existing instance and then shut down. The command line, which corresponds to the registered event, can be one of the following string constants.
Constant Value
APP_RUN_AFTER_EXTENDED_EVENT "AppRunAfterExtendedEvent"
APP_RUN_AFTER_INTERNET_PROXY_CHANGE "AppRunAfterInternetProxyChange"
APP_RUN_AFTER_SYNC "AppRunAfterSync"
APP_RUN_AFTER_TZ_CHANGE "AppRunAfterTzChange"
APP_RUN_AFTER_WAKEUP "AppRunAfterWakeup"
APP_RUN_AT_AC_POWER_ON "AppRunAtAcPowerOn"
APP_RUN_AT_AC_POWER_OFF "AppRunAtAcPowerOff"
APP_RUN_AT_NET_CONNECT "AppRunAtNetConnect"
APP_RUN_AT_NET_DISCONNECT "AppRunAtNetDisconnect"
APP_RUN_AT_DEVICE_CHANGE "AppRunDeviceChange"
APP_RUN_AT_IR_DISCOVERY "AppRunAtIrDiscovery"
APP_RUN_AT_RS232_DETECT "AppRunAtRs232Detect"
APP_RUN_AFTER_RESTORE "AppRunAfterRestore"
The string values in this table are processed as command line commands. In some cases, the part of the command line that follows the string is treated as a parameter.
因为已经有应用实例存在,所以得用事件的方法,我选用APP_RUN_AT_RS232_DETECT事件,然后等待事件,就可以了!
谢谢大家的关注!
不知道楼主到底是在pc上用还是在mobile上用啊?在pc端的话,用RAPI接口完全可以的,要是在mobile端就不能用RAPI接口拉
对,PC端可以用RAPI的,我用的是在CE设备端!