Q2:如何从winCE 5.0设备读取短信。 [英] Q2: how to read SMS from winCE 5.0 device.?

查看:53
本文介绍了Q2:如何从winCE 5.0设备读取短信。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想在VC ++ .net中开发一个应用程序,它从PND71C_EN(ARMV4I)设备读取短信。 

我试过以下代码来阅读短信

 

代码:

 

// THREADSTRUCT *    ts =(THREADSTRUCT *)pArg;

//THREADSTRUCT*    ts = (THREADSTRUCT*)pArg;

    SMS_ADDRESS smsaDestination;

    SMS_ADDRESS smsaDestination;

    TEXT_PROVIDER_SPECIFIC_DATA tpsd;

    TEXT_PROVIDER_SPECIFIC_DATA tpsd;

    SMS_HANDLE smshHandle;

    SMS_HANDLE smshHandle;

 

    HANDLE hRead = CreateEvent(NULL,FALSE,FALSE,NULL);

    HANDLE hRead = CreateEvent (NULL, FALSE, FALSE, NULL);

    //打开短信处理

    // Open an SMS Handle

    HRESULT HR = SmsOpen(SMS_MSGTYPE_TEXT,SMS_MODE_RECEIVE,

    HRESULT hr = SmsOpen (SMS_MSGTYPE_TEXT, SMS_MODE_RECEIVE,

             &安培; smshHandle, & hRead);

                          &smshHandle, &hRead);

    if(hr!= ERROR_SUCCESS){

    if (hr != ERROR_SUCCESS) {

               返回0;

               return 0;

    }

    }

    //等待邮件进来。

    // Wait for message to come in.

    int rc = WaitForSingleObject(hRead,30000);

    int rc = WaitForSingleObject (hRead, 30000);

    if(rc!= WAIT_OBJECT_0){

    if (rc != WAIT_OBJECT_0) {

        SmsClose(smshHandle);

       SmsClose (smshHandle);

       返回0;

        return 0;

    }

    }

    memset(& smsaDestination,0,sizeof(smsaDestination));

    memset (&smsaDestination, 0, sizeof (smsaDestination));

    DWORD dwSize,dwRead = 0;

    DWORD dwSize, dwRead = 0;

 

    hr = SmsGetMessageSize(smshHandle,& dwSize);

    hr = SmsGetMessageSize (smshHandle, &dwSize);

    if(hr!= ERROR_SUCCESS){

    if (hr != ERROR_SUCCESS) {

        dwSize = 1024;

        dwSize = 1024;

       返回0;

        return 0;

    }  

    }   

    char * pMessage =(char *)malloc(dwSize + 1);

    char *pMessage = (char *)malloc (dwSize+1);

    memset(& tpsd,0,sizeof(tpsd));

    memset (&tpsd, 0, sizeof (tpsd));

    HR = SmsReadMessage(smshHandle,NULL,&安培; smsaDestination,NULL,

    hr = SmsReadMessage (smshHandle, NULL, &smsaDestination, NULL,

            &NBSP ;(PBYTE)pMessage,的dwSize,

                         (PBYTE)pMessage, dwSize,

             (PBYTE)及tpsd,的sizeof(TEXT_PROVIDER_SPECIFIC_DATA),

                         (PBYTE)&tpsd, sizeof(TEXT_PROVIDER_SPECIFIC_DATA),

             &安培; dwRead);

                         &dwRead);

    if(hr == ERROR_SUCCESS){

    if (hr == ERROR_SUCCESS) {

        CString outputStr;

        CString outputStr;

          outputStr.Format(L" dst =%s,msg =%s",smsaDestination.ptsAddress,pMessage);

         outputStr.Format(L"dst=%s,msg=%s",smsaDestination.ptsAddress,pMessage);

          AfxMessageBox(outputStr);

         AfxMessageBox(outputStr);

    } else

    } else

         免费(pMessage);

          free (pMessage);

    SmsClose(smshHandle);

    SmsClose (smshHandle);

       返回0;

       return 0;

.................................. .................................................. .................................................. .........................

...............................................................................................................................................................

错误:

但是在我编译项目时给了我以下错误,尽管我已经包含了"sms.h"和"sms.h"。标题

 

 

 

错误 1
 错误LNK2019:未解决函数"unsigned long __cdecl ThreadRecordMsg(void)"中引用的外部符号SmsReadMessage (?ThreadRecordMsg @@ YAKXZ)的
Smsreceiver2Dlg.obj的 Smsreceiver2

Error 1  error LNK2019: unresolved external symbol SmsReadMessage referenced in function "unsigned long __cdecl ThreadRecordMsg(void)" (?ThreadRecordMsg@@YAKXZ) Smsreceiver2Dlg.obj Smsreceiver2


错误 2
 错误LNK2019:未解析的外部符号SmsGetMessageSize在函数"unsigned long __cdecl ThreadRecordMsg(void)"中引用(?ThreadRecordMsg @@ YAKXZ)的
Smsreceiver2Dlg.obj的 Smsreceiver2
Error 2  error LNK2019: unresolved external symbol SmsGetMessageSize referenced in function "unsigned long __cdecl ThreadRecordMsg(void)" (?ThreadRecordMsg@@YAKXZ) Smsreceiver2Dlg.obj Smsreceiver2

推荐答案

包括一个标题只是定义了一些符号;为了让链接器解析这些符号,你必须链接到实现它们的库,在你的情况下,它是sms.lib

Including a header simply defines some symbols; in order for the linker to resolve such symbols you have to link to the library which implements them which, in your case, is sms.lib


这篇关于Q2:如何从winCE 5.0设备读取短信。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆