查看單個文章
舊 2006-09-25, 12:08 PM   #2 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

vbs 因為沒有 Form 可以用
所以無法模擬鍵盤畫面

除非使用 VBA (也就是在MS 的應用程式上使用的 vbscript)
才可以宣告API

就算不是要 鍵盤畫面
或只是 直接寫譜方式 來模擬
.vbs 也沒有多媒體演奏函式可以使用

這裡有個利用網頁的vbscript的模擬鋼琴寫法
http://www.socialwork.com.hk/vb/vbsd...omForm0010.htm
(這個網頁要開啟 要花一點時間...)

要不然只能退一步
準備好一首曲子
接著 .vbs內容如下三行
dim MCIOBJ
set MCIOBJ = CreateObject("WScript.Shell")
MCIOBJ.run "mplay32.exe /play /close c:\piano.wav"

註:
mplay32.exe是 windows內建的一個播放程式
/play /close 表示演奏後自動關閉此播放程式
c:\piano.wav 就是準備好的曲子

WSH 在檔案操作上是很好用
但也是有限制的 無法像 VB做深入操作的
可以的話 退一步研究看看 VBA for Office (Excel、Word...什麼的)

最後
下三行是叫出windows多媒體裝置控制台
dim MCIOBJ
set MCIOBJ = CreateObject("WScript.Shell")
MCIOBJ.run "Rundll32.exe Shell32.dll, Control_RunDLL mmsys.cpl,,0"

那能否解析出 .dll 的操作
抽出 mciSendStringA、PlaySoundA 等WinAPI函式呢.....?
個人是找不到啦 ^^""

可能還是有辦法
比如用 .js 來辦到
不過個人是對 Javascript 沒有研究
所以只能想到這些...


網路上大部分能找到都是
vbscript、JavaScript網頁設計
對 .js、.vbs for WSH 很多是定位於 危險 ≒ 病毒
所以建議網友
可以直接試試 VB 來設計
編譯成 .exe 也是容易攜帶的
mini 目前離線  
送花文章: 2013, 收花文章: 8001 篇, 收花: 26805 次
回覆時引用此帖
向 mini 送花的會員:
Admin2 (2006-10-11)
感謝您發表一篇好文章