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 為撥出/撥入電話號碼