windows mobiles 5.0 開發的小技巧

來源:互聯網
上載者:User
Windows Mobile上怎麼調出發簡訊(多媒體訊息,郵件)的介面,並把相應的欄位用程式填寫好呢?
   
問題已搞定,分享:
BOOL LanchSystemSmsEditor(const TCHAR* SmsReceiver, const TCHAR* SmsContent, TCHAR*

SmsSubject)
{
  TCHAR commandLine[MAX_PATH];
  TCHAR szAppName[MAX_PATH];
  lstrcpy(szAppName, _T("tmail.exe"));
  PROCESS_INFORMATION procInfo;

  if( ! CreateProcess(szAppName, _T("-service /"Sms/""), NULL,NULL, FALSE,

CREATE_NEW_CONSOLE, NULL, NULL, NULL, &procInfo) )
  {
    return FALSE;
  }

  swprintf(commandLine, _T("mailto:%s?body=%s&subject=%s"), SmsReceiver, SmsContent,

SmsSubject);

  if( ! CreateProcess(szAppName, commandLine, NULL,NULL, FALSE, CREATE_NEW_CONSOLE, NULL,

NULL, NULL, &procInfo) )
  {
    return FALSE;
  }
  WaitForSingleObject(procInfo.hProcess, INFINITE);

  return TRUE;
}

BOOL LanchSymtemEmailEditor(const TCHAR* EmailAddress, const TCHAR* Subject, const TCHAR*

EmailBody)
{
  TCHAR commandLine[MAX_PATH];
  TCHAR szAppName[MAX_PATH];
  lstrcpy(szAppName, _T("tmail.exe"));

  PROCESS_INFORMATION procInfo;
  if( ! CreateProcess(szAppName, _T("-service /"ActiveSync/""), NULL,NULL, FALSE,

CREATE_NEW_CONSOLE, NULL, NULL, NULL, &procInfo) )
  {
    return false;
  }

  swprintf(commandLine, _T("mailto:%s?subject=%s&body=%s"), EmailAddress,Subject,

EmailBody);

  if( ! CreateProcess(szAppName, commandLine, NULL,NULL, FALSE, CREATE_NEW_CONSOLE, NULL,

NULL, NULL, &procInfo) )
  {
    return false;
  }
  WaitForSingleObject(procInfo.hProcess, INFINITE);
  return TRUE;
}

BOOL LanchSystemMMSEditor(const TCHAR* SmsReceiver, const TCHAR* SmsContent, TCHAR*

SmsSubject)
{
  TCHAR commandLine[MAX_PATH];
  TCHAR szAppName[MAX_PATH];
  lstrcpy(szAppName, _T("tmail.exe"));
  PROCESS_INFORMATION procInfo;

  if( ! CreateProcess(szAppName, _T("-service /"MMS/""), NULL,NULL, FALSE,

CREATE_NEW_CONSOLE, NULL, NULL, NULL, &procInfo) )
  {
    return FALSE;
  }
  swprintf(commandLine, _T("mailto:%s?body=%s&subject=%s"), SmsReceiver, SmsContent,

SmsSubject);

  if( ! CreateProcess(szAppName, commandLine, NULL,NULL, FALSE, CREATE_NEW_CONSOLE, NULL,

NULL, NULL, &procInfo) )
  {
    return FALSE;
  }
  WaitForSingleObject(procInfo.hProcess, INFINITE);

  return TRUE;
}

-----------------------------------------------
PPC如何隱藏啟動並執行應用程式

ShowWindow(hWnd, SW_HIDE);

-----------------------------------------------
怎樣從一個Edit框中取出文字,然後再賦值給另一個Edit框

GetWindowText()
SetWindowText()
這兩個函數就可以了

-----------------------------------------------
如何枚舉WM5中的串連

用DMProcessConfigXML可以得到串連設定,包含在CM_GPRSEntries,CM_PPPEntries,CM_VPNEntries中,

返回的每一項的guid指明了這個串連屬於哪一個網路,
網路可以用DMProcessConfigXML,通過CM_Networks,也可以用前面提到的ConnMgrEnumDestinations,
直接通過某個特定的串連而不是串連網路再由CMPlanner選擇某個串連的方法是:用ConnMgrMapConRef函

數由串連的名字得到一個GUID,使用這個GUID串連,這樣就繞過了CMPlanner。

自己主動串連的問題解決了,下面的問題是如何監視串連的狀態(監視其他程式建立串連,中斷連線,連

接上的流量)

------------------------------------------------
取WM5.0電池電量Windows API 問題

Header: Winbase.h.
Link Library: Coredll.lib.

SYSTEM_POWER_STATUS_EX2 state;
GetSystemPowerStatusEx2(&state, sizeof(state), TRUE);
state.ACLineStatus
state.BatteryFlag

--------------------------------------------------
RasSetEntryProperties,RasSetEntryDialParams,建立撥號連線
RasValidateEntryName撥號是否存在!

--------------------------------------------------
通過WM_DBNOTIFICATION訊息捕獲所有的電話記錄

開發工具是vs2005的C++,現已實現通過WM_DBNOTIFICATION訊息捕獲所有的電話記錄,想通過類似的方法

捕獲SMS收/發訊息,來對SMS記錄進行相應的處理。

測試發現,wince5.0的電話記錄和簡訊記錄都是儲存在pim.vol檔案中,最新添加的電話記錄可以通過下

面的代碼找到:
case WM_DBNOTIFICATION:
   pCalllogNotification = (CENOTIFICATION*)(lParam);
   if(pCalllogNotification->uType == DB_NOTIFY_RECORD_CREATED)
   {...}

既然簡訊記錄也是儲存在pim.vol檔案中,如果能捕獲到SMS簡訊收/發的訊息的話,是不是仍然可以通過

DB_NOTIFY_RECORD_CREATED來定位到相應的SMS簡訊記錄?

我剛剛接觸WINCE的開發,原來做過一些採用VC6開發(MFC/win32的都有)的項目,感覺WINCE的架構和MFC

比較相似,比較容易上手,最好還是告訴我用VC8實現的方法,謝謝指點。

我知道是電話記錄的話,查詢clog.db資料庫,返回的記錄集PCEPROPVAL的資料結構大致如下:
PCEPROPVAL[1].val.filetime 電話開始時間(GMT時間,中國地區需要+8)
PCEPROPVAL[2].val.filetime 電話結束時間(GMT時間,中國地區需要+8)
PCEPROPVAL[3].val.lVal為電話類型
撥出接是7
撥出不接是5
撥入接是6
撥入不接是4
CEPROPVAL[4].val.lpwstr 為撥出/撥入電話號碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.