VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請問mciSendCommand語法

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
劉紀樂



註冊時間: 2003-10-12
文章: 7


第 1 樓

發表發表於: 星期四 十月 16, 2003 1:19 am    文章主題: 請問mciSendCommand語法 引言回覆

先前在 "飛狐" 網發問過後,就一直進不去,不知是否有人指點? 故在此重新發問,請勿見怪

問題如下:
1.在MSDN有下列語法:
MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_OPEN,
DWORD dwFlags,
(DWORD) (LPMCI_OPEN_PARMS) lpOpen
);

2.C之範例,主要有DIGITALV.H與MCIPLAY.C二個檔
***File: DIGITALV.H***
#ifndef _INC_DIGITALV
#define _INC_DIGITALV 100

#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */

#define MCI_TEST 0x00000020L
●(註1)

/* flags for dwFlags parameter of MCI_OPEN command message */

#define MCI_DGV_OPEN_WS 0x00010000L
#define MCI_DGV_OPEN_PARENT 0x00020000L
#define MCI_DGV_OPEN_NOSTATIC 0x00040000L
#define MCI_DGV_OPEN_16BIT 0x00080000L
#define MCI_DGV_OPEN_32BIT 0x00100000L


/* parameter block for MCI_OPEN command message */
typedef struct {
DWORD dwCallback;
UINT wDeviceID;
#ifndef _WIN32
WORD wReserved0;
#endif
LPSTR lpstrDeviceType;
LPSTR lpstrElementName;
LPSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
#ifndef _WIN32
WORD wReserved1;
#endif
} MCI_DGV_OPEN_PARMS;


============================================================
***File: MCIPLAY.C***
#include "windows.h" // Windows API support
#include "windowsx.h" // Windows API shortcut macros
#include "mmsystem.h" // Windows MCI support
#include "commdlg.h" // common dialogs support
#include "mciplay.h"
#include "digitalv.h" //MCI Digital Video Command Set


FARPROC lpProcAbout;
RECT rc;
MCI_DGV_OPEN_PARMS mciMO; (問題1)
MCI_PLAY_PARMS mciPlay;
MCI_DGV_RECT_PARMS mciRect;
MCI_DGV_SETVIDEO_PARMS mciSetVideo;
DWORD dwResult,dwFlags;


mciMO.lpstrDeviceType="MpegVideo";
mciMO.lpstrElementName=ofn.lpstrFile;
mciMO.lpstrAlias=0;
mciMO.dwCallback=0;
mciMO.wDeviceID=0;
mciMO.dwStyle=WS_CHILD|WS_BORDER|WS_DISABLED; (問題2)

mciMO.hWndParent=hWnd;

dwFlags=(DWORD)(MCI_OPEN_ELEMENT|MCI_DGV_OPEN_PARENT|MCI_DGV_OPEN_WS); (問題3)

dwResult=mciSendCommand(0,MCI_OPEN,dwFlags,(DWORD)(LPMCI_DGV_OPEN_PARMS) mciMO); (問題4)


註1:. ●代表中間尚有程式碼,為讓文章簡短予以省略

請問如何將問題1~4寫成VFP語法,懇請各位惠予指導,感激不盡。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 2 樓

發表發表於: 星期四 十月 16, 2003 12:17 pm    文章主題: 引言回覆

不知道你到底要達到何種目地, 如果利用本站的搜尋功能來找 MCI 看看以前的文章是否有類似的答案.
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
劉紀樂



註冊時間: 2003-10-12
文章: 7


第 3 樓

發表發表於: 星期六 十月 18, 2003 1:53 am    文章主題: 引言回覆

非常感謝Garfield 的答覆,我曾在貴板搜尋過有關mciSendCommand相關文章,皆未獲得想要內容,我的用途是想以VFP來控制多媒體播放,我嚐試過用MCI32.ocx物件來控制,可是其功能太簡單,像音效卡之左右聲道就無法控制,於是遍詢朋友得到上述之C範例,不過其語法不知如何轉成VFP語法,C之語法如下:
MCIERROR mciSendCommand(
MCIDEVICEID IDDevice,
UINT uMsg,
DWORD fdwCommand,
DWORD_PTR dwParam
);

Parameters
IDDevice
Device identifier of the MCI device that is to receive the command message. This parameter is not used with the MCI_OPEN command message.

uMsg
Command message. For a list, see Multimedia Commands.

fdwCommand
Flags for the command message.

dwParam
Pointer to a structure that contains parameters for the command message.

1.請問VFP宣告是否如下:
DECLARE INTEGER mciSendCommand IN winmm INTEGER IDDevice, INTEGER uMsg, INTEGER fdwCommand , INTEGER @dwParam

2. 請問下列如何轉成VFP語法?
#define MCI_DGV_OPEN_WS 0x00010000L
#define MCI_DGV_OPEN_PARENT 0x00020000L
fdwCommand=(DWORD)(MCI_OPEN_ELEMENT|MCI_DGV_OPEN_PARENT|MCI_DGV_OPEN_WS)

3.
MCI_DGV_OPEN_PARMS mciMO; (VFP如何定義?)
mciMO.lpstrDeviceType="MpegVideo";
mciMO.lpstrElementName=ofn.lpstrFile;
mciMO.lpstrAlias=0;
mciMO.dwCallback=0;
mciMO.wDeviceID=0;
mciMO.dwStyle=WS_CHILD|WS_BORDER|WS_DISABLED;
=mciSendCommand(0,MCI_OPEN,fdwCommand,(DWORD)(LPMCI_DGV_OPEN_PARMS) mciMO)
(DWORD)(LPMCI_DGV_OPEN_PARMS) mciMO
(VFP如何傳遞?)

抱歉,表達能力不好,不知您是否了解我的問題,若是,請盡量幫忙,感謝您的費心
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 4 樓

發表發表於: 星期六 十月 18, 2003 6:45 am    文章主題: 引言回覆

那就等待高人解答吧!
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 5 樓

發表發表於: 星期日 十月 19, 2003 10:59 am    文章主題: 引言回覆

如果是音效卡之左右聲道控制.我記得有一篇範例.標題忘記了.
_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
劉紀樂



註冊時間: 2003-10-12
文章: 7


第 6 樓

發表發表於: 星期日 十月 19, 2003 11:06 pm    文章主題: 引言回覆

Ruey我用聲道查詢,雖沒查到,卻查到你張貼的十則鬼笑話,你們管理這版面很用心,發表了很多有用文章及讓人會新一笑之幽默笑話,讓我受益匪淺,調劑良多
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 7 樓

發表發表於: 星期一 十月 20, 2003 12:49 am    文章主題: 引言回覆

可以嘗試一筆一筆找

底下相關的..
http://vfp.sunyear.com.tw/viewtopic.php?t=404

http://vfp.sunyear.com.tw/viewtopic.php?t=367

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作