當前位置:成語大全網 - 新華字典 - 代碼:800A0408無效字符 怎麽解決

代碼:800A0408無效字符 怎麽解決

以下程序在Windows XP SP3上運行通過。

'==========================================================================

' Name : CommandPC.VBS

' AUTHOR : sbl

' DATE : 2008-2-22

'==========================================================================

Dim CommandDictionary '命令字典對象

Dim WshShell 'WshShell對象提供對本地Windows程序的訪問。

Dim ScriptComplete '程序結束標誌

Dim SR '語音識別(Speech Recognition)對象

Dim Grammar '語音識別的命令語法對象

'初始化命令字典對象,可根據自己的需要添加命令

Set CommandDictionary = CreateObject("Scripting.Dictionary")

CommandDictionary.Add "上網","""D:\Program Files\Maxthon3\Bin\Maxthon.exe"""

CommandDictionary.Add "千千","""D:\Program Files\TTPlayer\TTPlayer.exe"""

CommandDictionary.Add "電影","""D:\Program Files\The KMPlayer\KMPlayer.exe"""

CommandDictionary.Add "記事本","notepad"

CommandDictionary.Add "聊天","""D:\Program Files\Tencent\QQ\Bin\QQ.exe"""

CommandDictionary.Add "雷雷","""D:\Program Files\Thunder Network\Thunder\Program\Thunder.exe"""

CommandDictionary.Add "大大","""C:\Program Files\Wopti\WoptiUtilities_CN.exe"""

Set WshShell = CreateObject("WScript.Shell") '創建WshShell對象

ScriptComplete = False '初始化程序結束標誌

'創建語音識別對象,調用由"Command.XML"所定義的語法,並啟動語音識別引擎

Set SR = WScript.CreateObject("SAPI.SpSharedRecoContext", "RecoContext_")

Set Grammar = SR.CreateGrammar

Grammar.CmdLoadFromFile "COMMAND.XML", SLODynamic

Grammar.CmdSetRuleIdState 0, 1

MsgBox "妳好,主人,請吩咐。"

'等候妳的語音命令(需要安裝麥克風)

'當識別出"結束"命令時程序結束

Do

WScript.Sleep 1000

Loop Until ScriptComplete

MsgBox "歡迎再跟我說話,再見!"

'妳的語音命令被識別

Sub RecoContext_Recognition(ByVal StreamNumber, ByVal StreamPosition, ByVal RecognitionType, ByVal Result )

Text = Result.PhraseInfo.GetText '獲取語音識別引擎所識別的命令

If Text <> "結束" Then

WshShell.Run CommandDictionary.Item(Text) '由WshShell對象Run方法執行妳的命令

Else

ScriptComplete = true '程序結束標誌

End If

End Sub

1.親給出的程序語句中出現了很多中文狀態下的逗號,也就是“,”,這會造成程序運行錯誤,需全部替換為英文狀態下的逗號——“,”,中文狀態下的逗號只允許出現在字符串中。

2.請確保程序的完整路徑全部正確,像傲遊瀏覽器,我使用的是傲遊3,程序的完整路徑是“D:\Program Files\Maxthon3\Bin\Maxthon.exe”,而KMPlayer,默認是裝在壹個叫“The KMPlayer”的文件夾中的,我這邊是“D:\Program Files\The KMPlayer\KMPlayer.exe”,迅雷的程序路徑也不對……風行、魔獸和CS我都沒裝,所以去掉了相應代碼。

3.由於此程序需要調用XML文件中所定義的命令語法,所以在將上面這段代碼粘帖保存為“.vbs”文件後,還需要保存壹個“Command.XML”文件,並且確保與VBS文件放在同壹個文件夾中。其中的代碼如下:

<?xml version="1.0" encoding="gb2312" ?>

<GRAMMAR LANGID="804">

<RULE NAME="命令" TOPLEVEL="ACTIVE">

<L>

<P>上網</P>

<P>千千</P>

<P>電影</P>

<P>記事本</P>

<P>聊天</P>

<P>雷雷</P>

<P>大大</P>

<P>結束</P>

</L>

</RULE>

</GRAMMAR>

4.字典對象中的中文命令有了些許變化,因為這樣的命令更容易被識別。為了提高語音識別的準確率,最好去“控制面板”→“語音”→“語音識別”選項卡中訓練壹下配置文件(這是XP下的路徑)。