發表文章

如何取得通話紀錄(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...

TSQL - Update指令加上Top關鍵字

今天在下update指令時突然想到能不能只update最新的一筆(當然,為什麼要這樣跟我的資料表規畫有關係..orz),想了想..瞬間當機.. 問了同事之後,總算是reboot了..趕快記起來,免的忘了.. UPDATE "表格" SET "欄位1" = [值1], "欄位2" = [值2] WHERE ("主索引" IN (SELECT TOP (1) "主索引" FROM "表格" ORDER BY "主索引" DESC)) EX: UPDATE myTable SET myFiled = 1 WHERE (PK IN (SELECT TOP (1) PK FROM myTable AS A ORDER BY PK DESC))

Transparent Label in compact framework

在.net cf(compact framework)的環境下面,label的背景沒有辦法設定為透明的,所以如果Form設定了底圖,那麼擺個Label上去就會看到白白的一塊東西在那邊,這該怎麼辦呢? 解法可以參考下面這篇 How to get Transparent Label? 他的做法大致上是下面這樣 在PictureBox或是Form上先擺上一個"不可見"的Label,也就是visable=false 設定好想要的字型跟前景顏色(forecolor)等等 利用graphic.drawstring的方式將字畫到PictureBox或是Form上面 那麼為什麼要擺放一個visable=false的Label在上面呢?直接畫不就好了?是的,直接畫當然也是可以,不過這個"不可見"的label可以幫我們"記住"很多事情,例如位置、字型、顏色等等,所以會比較方便。 下面是參考的程式碼(修改自連結中的範例程式) Dim targetOffset As Point Dim drawBounds As Rectangle Dim sizeTmp As SizeF Dim intleft As Integer Private Sub DrawLabel(ByRef labSource As Label, ByRef picTarget As Form, ByRef grx As Graphics) targetOffset = picTarget.Location drawBounds = labSource.Bounds drawBounds.X -= picTarget.Location.X drawBounds.Y -= picTarget.Location.Y If (labSource.TextAlign = ContentAlignment.TopLeft) Then grx.DrawString(labSource.Text, labSource.Font, New SolidBrush(labSource.ForeColor), drawBounds) E...

MSDN Forums 更新了

就在昨天(1/29)MSDN Forums已經更新為新版(3.0)的介面了,有在論壇上打滾的朋友可以上去看看新版的介面,但是目前還沒有全數整理完畢,所以版面還有點亂...orz;不過不影響討論就是了。 論壇的新網址在 這邊 ,舊有的forums也會做自動轉向,你點進任何一個討論區都會自動幫你轉到新的forums platform上面。

MSDN論壇即將更新了

圖片
MSDN論壇中文版在最近就要進行更新、改版的工程了,如果你想知道相關的詳細消息,可以參考 這裡 。 為免以後看不到舊版論壇的樣子,先抓個圖下來存一下,特此留念..XD 如果想先看看新版的樣子可以先到 國外那邊 看看。 好,下面這就是目前熟悉的論壇介面,好好收著,以後要給小孩子看的..說你老爸之前常在這邊鬼混..XD