WINCE设备通过async与pc机连接,CE端如何知道已经连接上,是否可用RAPI得知?

shaowei1108   2008-2-27 11:18 楼主
在PC机端用VC6.0调用RAPI函数,可以通过CeRapiInit()或CeRapiInitEx()函数知道是否与CE设备已经正常连接上,但是我把这段代码该写到EVC上,编译怎么都通不过(已经加了Rapi.h和Rapi.lib文件),后来上网得知RAPI是给PC端用的,不知道是不是这样的,还有那CE设备端要如何才能知道是否与PC机正常连接?

回复评论 (9)

怎么没人回答啊?自己顶一下!
点赞  2008-2-27 14:33
在CE设备端有没有函数可以知道已与PC机正常连接上(通过ActiveSync)
点赞  2008-2-27 14:36
应该可以知道
点赞  2008-2-27 17:08
RAPI是PC機上來獲取連接的,PDA那塊還沒有試過,關注中。。。
点赞  2008-2-27 17:57
我在书中看到可以用CeRunAppAtEvent函数来得知是否已经连接成功,其中用NOTIFICATION_EVENT_SYNC_END事件,但是我在调用CeRunAppAtEvent这个函数时,返回flase,也是就没调用成功,不知道为什么,有谁用过这个函数吗?可否解释一下,麻烦了!
点赞  2008-2-27 22:53
今天早上试了一下,CeRunAppAtEvent已经可以返回TRUE了,可是没有运行里面注册的可执行文件,感觉应该是没有事件触发过来,也就是当同步连接上时没有NOTIFICATION_EVENT_RS232_DETECTED或NOTIFICATION_EVENT_SYNC_END事件触发,我查了一下BSP没有找到NOTIFICATION_EVENT_SYNC_END,不过在serial和usb驱动里找到了NOTIFICATION_EVENT_RS232_DETECTED发生事件,接下来将进一步跟踪调试,不知道哪位兄弟有这样的经历,还望
指教!
点赞  2008-2-28 08:56
已解决!还是自己没仔细,今天又看了一下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事件,然后等待事件,就可以了!
谢谢大家的关注!
点赞  2008-2-28 10:25
不知道楼主到底是在pc上用还是在mobile上用啊?在pc端的话,用RAPI接口完全可以的,要是在mobile端就不能用RAPI接口拉
点赞  2008-2-28 11:36
对,PC端可以用RAPI的,我用的是在CE设备端!
点赞  2008-2-29 11:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复