發表文章

目前顯示的是 3月, 2009的文章

如何取得通話紀錄(Mobile)

在上一篇有提到 如何抓取SIM卡中連絡人的相關資料 ,這篇我們來測試一下抓取通話紀錄的部分。 首先,下面測試的程式碼是參考自Code Project的 >Retrieving and Storing Call History ,詳細的資料以及原始碼可以到code project去下載,下載之後解開壓縮,你會看到一個WindowsMobile6的資料夾,存取calllog相關的程式碼都在裡面,可以參考,不過程式碼都是C#的就是了。 在論壇上 關於取得通話記錄的問題 這篇也可以找到相關討論。 好,下面來看看實作的程式碼吧。 首先是模組的程式碼 Imports System.Runtime.InteropServices Module Module2 _ Public Function PhoneOpenCallLog(ByRef ph As IntPtr) As IntPtr End Function _ Public Function PhoneGetCallLogEntry(ByVal h As IntPtr, ByRef pentry As CALLLOGENTRY) As IntPtr End Function _ Public Function PhoneCloseCallLog(ByVal h As IntPtr) As IntPtr End Function _ Public Function PhoneSeekCallLog(ByVal hdb As IntPtr, ByVal seek As CALLLOGSEEK, ByVal iRecord As UInteger, _ ByRef piRecord As UInteger) As IntPtr End Function _ Structure CALLLOGENTRY _ Public cbSize As UInteger _ Public ftStartTime As Long _ Public

如何抓取SIM卡中的連絡人資訊

在論壇中 Microsoft.WindowsMobile.Status.SystemState.OwnerPhoneNumber 有提問到要如何抓取SIM卡中的連絡人,這個部分必須要用到API去存取,下面是相關的程式碼,可以參考看看 模組的程式碼 Module Module1 Public Const S_OK As Int64 = &H0 Public Const SIM_CAPSTYPE_ALL As Integer = &H3F Public Const SIM_PBSTORAGE_SIM As Integer = &H10 Public Const SIM_SMSSTORAGE_SIM As Integer = &H2 _ Public Structure SIMPHONEBOOKENTRY Public cbSize As UInteger Public dwParams As UInteger _ Public lpszAddress As String Public dwAddressType As UInteger Public dwNumPlan As UInteger _ Public lpszText As String End Structure _ Public Function SimInitialize(ByVal dwFlags As UInt32, ByVal lpfnCallBack As Integer, _ ByVal dwParam As UInt32, ByRef lphSim As Integer) As Integer End Function _ Public Function SimGetPhonebookStatus(ByVal hSim As Integer, ByVal dwLocati

How-to 利用資源檔來做多國語言的介面

圖片
在以往VB6的時候我們會立用資源檔來做多國語言的介面,那麼到了.net的環境,我們應該怎麼去做呢?是的,還是那道光,利用資源檔就可以達到我們的需求,不過用法有不同的方式,你也可以參考在MSDN forums上面的這篇文章 "VB.Net多國語言介面問題" 。 好,下面說明一下我的做法,其實主要是參考 .net Manazine電子報 的做法,有興趣的話可以到該網站找n020800701這篇文章;先看看介面的部分,我在form上面放了一個combobox以及兩個label來展示效果,選擇簡體時會像下圖這樣 繁體中文會像下面這樣 接下來是一些注意的地方以及程式碼 首先要加入資源檔,在"方案總管"的地方,點滑鼠右鍵,之後選擇"加入"→"新增項目",之後加入資源檔;而資源檔的命名方式是"自訂名稱.語系簡稱.resx",這邊我是做了三個, Resource.en-US.resx Resource.zh-TW.resx Resource.zh-CN.resx ,而在資源檔上面連續點兩下,就會進入到編輯畫面,這邊我簡單的加了兩個項目 在名稱的地方就是我們等一下在程式中會用到的"key"了,所以可不能亂打一通,不然可是很難處理,而值的地方就是會顯示UI上面的文字了;好,編輯完三個檔之後,我們來看看程式碼吧 Imports System.Globalization Imports System.Reflection Public Class Form1 Dim RM As Resources.ResourceManager Dim CI As CultureInfo Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RM = New Resources.ResourceManager("ResourceTest.Resource", Assembly.GetExecutingAssembly) End Sub Private Sub Co