Zi 字媒體
2017-07-25T20:27:27+00:00
[VC(Visual C++) ]- 02_VFW網路攝影機驅動範例
本篇分享02_VFW網路攝影機驅動範例程式,有興趣的(C/P)同好,歡迎來http://filemarkets.com/file/jashliao/b2fdf33a/索取,因為我不會上傳檔案分享哈哈 ^ ^。
主要程式碼
0001 // VFWView.cpp : implementation of the CVFWView class
0002 //
0003
0004 #include "stdafx.h"
0005 #include "VFW.h"
0006 #include
0007 #include "VFWDoc.h"
0008 #include "VFWView.h"
0009
0010 #ifdef _DEBUG
0011 #definenew DEBUG_NEW
0012 #undef THIS_FILE
0013 staticchar THIS_FILE[] = __FILE__;
0014 #endif
0015
0016 /////////////////////////////////////////////////////////////////////////////
0017 // CVFWView
0018
0019 IMPLEMENT_DYNCREATE(CVFWView, CView)
0020
0021 BEGIN_MESSAGE_MAP(CVFWView, CView)
0022 //{{AFX_MSG_MAP(CVFWView)
0023 ON_COMMAND(ID_GetNumber, OnGetNumber)
0024 //}}AFX_MSG_MAP
0025 // Standard printing commands
0026 ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
0027 ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
0028 ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
0029 END_MESSAGE_MAP()
0030
0031 /////////////////////////////////////////////////////////////////////////////
0032 // CVFWView construction/destruction
0033
0034 CVFWView::CVFWView()
0035 {
0036 // TODO: add construction code here
0037
0038 }
0039
0040 CVFWView::~CVFWView()
0041 {
0042 }
0043
0044 BOOL CVFWView::PreCreateWindow(CREATESTRUCT& cs)
0045 {
0046 // TODO: Modify the Window class or styles here by modifying
0047 // the CREATESTRUCT cs
0048
0049 return CView::PreCreateWindow(cs);
0050 }
0051
0052 /////////////////////////////////////////////////////////////////////////////
0053 // CVFWView drawing
0054
0055 void CVFWView::OnDraw(CDC* pDC)
0056 {
0057 CVFWDoc* pDoc = GetDocument();
0058 ASSERT_VALID(pDoc);
0059 // TODO: add draw code for native data here
0060 }
0061
0062 /////////////////////////////////////////////////////////////////////////////
0063 // CVFWView printing
0064
0065 BOOL CVFWView::OnPreparePrinting(CPrintInfo* pInfo)
0066 {
0067 // default preparation
0068 return DoPreparePrinting(pInfo);
0069 }
0070
0071 void CVFWView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
0072 {
0073 // TODO: add extra initialization before printing
0074 }
0075
0076 void CVFWView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
0077 {
0078 // TODO: add cleanup after printing
0079 }
0080
0081 /////////////////////////////////////////////////////////////////////////////
0082 // CVFWView diagnostics
0083
0084 #ifdef _DEBUG
0085 void CVFWView::AssertValid() const
0086 {
0087 CView::AssertValid();
0088 }
0089
0090 void CVFWView::Dump(CDumpContext& dc) const
0091 {
0092 CView::Dump(dc);
0093 }
0094
0095 CVFWDoc* CVFWView::GetDocument() // non-debug version is inline
0096 {
0097 ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CVFWDoc)));
0098 return (CVFWDoc*)m_pDocument;
0099 }
0100 #endif//_DEBUG
0101
0102 /////////////////////////////////////////////////////////////////////////////
0103 // CVFWView message handlers
0104
0105 void CVFWView::OnGetNumber()
0106 {
0107 // TODO: Add your command handler code here
0108 char DrvName[80];
0109 char DrvVer[80];
0110 BOOL res;
0111 res=capGetDriverDescription(0,DrvName,sizeof(DrvName),DrvVer,sizeof(DrvVer));
0112 if(res)
0113 {
0114 MessageBox(DrvName);
0115 MessageBox(DrvVer);
0116 m_hWndCap=capCreateCaptureWindow("Video Window",
0117 WS_CHILD | WS_VISIBLE ,
0118 0, 0, 640, 480,this->m_hWnd, 0);
0119 res=capDriverConnect(m_hWndCap,0);
0120 /*
0121 res=capOverlay(m_hWndCap,TRUE);
0122 if(res)
0123 {
0124 MessageBox("it is ok");
0125 }
0126 else
0127 {
0128 MessageBox("it is not ok");
0129 }
0130 */
0131 capPreviewScale(m_hWndCap,FALSE);
0132 capPreviewRate(m_hWndCap,33);
0133 res=capPreview(m_hWndCap,TRUE);
0134 }
0135 else
0136 {
0137 MessageBox("沒有");
0138 }
0139 //this->m_hWnd
0140 }
寫了
5860316篇文章,獲得
23313次喜歡