none
請問 WM6 是否有Hotkey 或類似功能? RRS feed

  • 問題

  • 各位前輩好,小弟本來是使用VB6開發程式的,以前並沒有碰過wm系統相關開發,所以有不到之處,請見諒. 有個問題想請教一下,在windows下有個RegisterHotKey 的API可以註冊hotkey,那麼在wm6系統下是否有類似的功能呢?最主要是小弟有個藍牙鍵盤,當跟手機配對後,想要達成以下功能,例如當按了Ctrl + I 後,可以跳出IE視窗,或者按了Alt + E 後,可以跳出Outlook之類的快速鍵功能.該從何處下手,或者該參考什麼資料會比較容易呢? 萬分感謝~~~

    2009年11月12日 上午 09:58

解答

所有回覆

  • 參考
    如何用 C# 寫一個在 Mobile 手機上, 可以知道按下某一個硬體按鍵?
    http://social.msdn.microsoft.com/Forums/zh-TW/803/thread/6e1b1f34-1eaf-477c-a5ed-8a8aea095fc3


    Windows 7 多點觸控設計大賽
    2009年11月12日 上午 10:59
    版主
  • HI,

    您可以參考這個範例:
    Windows Mobile: Implement kiosk mode(http://www.codeproject.com/KB/smart/CF_kiosk_mode.aspx)
    2009年11月13日 上午 01:54
  • 感謝 小歐ou 及 tihs 兩位的幫忙, 現在正在查看兩篇文章, 等有什麼結果在來分享....謝謝兩位....


    我在網路上找到這篇文章,http://msdn.microsoft.com/en-us/library/bb416691.aspx ,
    提到說可以經由registry 修改手機上的按鍵所對應的應用程式,
    也實際測試了一下,
    發現,除了特定的某些code可以修改成功,如112(F1)對應左下角快速鍵,113(F2)對應右下角快速鍵,
    其他的或者說是沒有對映的並不會有動作,
    想請教一下,是否能由註冊表去達到設定任意按鍵的目標呢?
    例如由藍芽鍵盤的123(F12)去啟動小算盤等功能呢?
    因為,由藍芽鍵盤的F1,F2確實可以啟動那些設定好的應用程式,
    或者一定要自己寫個Timer,當接收到某個Keycode時,在去執行應用程式.
    謝謝~~~~
    2009年11月13日 上午 02:51
  • Public Class Form1
        Public Declare Function GetAsyncKeyState Lib "coredll.dll" (ByVal vKey As Int32) As Short
    
        Dim myfile As New Process
    
        Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
            Timer1.Enabled = False
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    
            If GetAsyncKeyState(Keys.H) <> 0 Then
                If Me.Visible = True Then
                    Me.Visible = False
                Else
                    Me.Visible = True
                End If
            End If
    
            If GetAsyncKeyState(Keys.M) <> 0 Then
                myfile.StartInfo.FileName = "\windows\tmail.exe"
                myfile.StartInfo.Arguments = "-Service ""SMS"" -to ""1234567"" -body ""Hello World !"""
                myfile.Start()
            End If
    
            If GetAsyncKeyState(Keys.W) <> 0 Then
                myfile.StartInfo.FileName = "\windows\pword.exe"
                myfile.Start()
            End If
        End Sub
    End Class

    各位前輩好,又來打擾大家了,
    以上的程式碼是我參考vb6及網路相關資訊想出來的方案,
    用途很明顯,就是當按了m鍵,就會執行文字簡訊,
    按了w鍵,就會執行系統內的word,
    目前用模擬器跑是沒有什麼大問題,
    可是不知道為什麼,就是感覺卡卡的,
    有時候要按很多次才會去執行我要的動作,
    我的timer interval 設100,

    另外就是,當執行pword的時候,
    會進到word mobile下,還需要點new才會進入新增,
    怎麼設定才可以跑到新增的模式下呢?

    myfile.StartInfo.FileName = "\windows\tmail.exe"
    myfile.StartInfo.Arguments = "-Service ""SMS"" -to ""1234567"" -body ""Hello World !"""
    tmail的Arguments還有哪些模式可以設定的呢?
    例如,可不可以不要進入sms,而是進入e-mail呢?

    若我想要知道各種程式(mobile內建的程式)的Arguments,
    需要到哪邊去找相關資訊呢?

    在問一個問題,如何讓程式在手機開機自動執行,
    變成常駐程式呢?

    以上 感謝各位前輩的幫助,謝謝~~~~
    2009年12月3日 上午 01:50