資源簡介
本程序為 連接海康設備獲取通道、視頻、錄像、抓圖 信息的代碼,為本人做項目時開發。
程序開發環境為 VC++2015,下載后可以直接運行。
對海康設備相關的開發具有很好的參考價值,分享給大家,感謝大家的支持。

代碼片段和文件信息
//?Play.cpp?:?定義應用程序的類行為。
//
#include?“stdafx.h“
#include?“Play.h“
#include?“PlayDlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CPlayApp
BEGIN_MESSAGE_MAP(CPlayApp?CWinApp)
ON_COMMAND(ID_HELP?&CWinApp::onhelp)
END_MESSAGE_MAP()
//?CPlayApp?構造
CPlayApp::CPlayApp()
{
//?支持重新啟動管理器
m_dwRestartManagerSupportFlags?=?AFX_RESTART_MANAGER_SUPPORT_RESTART;
//?TODO:?在此處添加構造代碼,
//?將所有重要的初始化放置在?InitInstance?中
}
//?唯一的一個?CPlayApp?對象
CPlayApp?theApp;
DWORD?WINAPI?ThreadProc(LPVOID?pParam)
{
CDC*?pdc;
//將傳入的參數轉為RECT*
RECT*?rect?=?(RECT*)pParam;
//得到設備句柄
pdc?=?AfxGetApp()->m_pMainWnd->GetDC();
//設置畫刷
CBrush?brush(HS_VERTICAL?RGB(0?255?0));
//選入到設備中
CBrush*?oldbrush?=?pdc->Selectobject(&brush);
int?n?=?0;
while?(n++?<=?2000)
{
pdc->Rectangle(rect->left?rect->top?rect->right?+?n?rect->bottom);
Sleep(1);
}
pdc->Selectobject(oldbrush);
pdc->ReleaseOutputDC();
return?0;
}
SOCKET?sockSrv;
SOCKADDR_IN?addrSrv;
SOCKET?sockConn;
DWORD?WINAPI?SocketThreadProc(LPVOID?pParam)?{
CPlayDlg*?dlgInstance?=?(CPlayDlg*)pParam;
WORD?wVersionRequested;//版本號?
WSADATA?wsaData;
int?err;
wVersionRequested?=?MAKEWORD(1?1);//1.1版本的套接字?
err?=?WSAStartup(wVersionRequested?&wsaData);
if?(err?!=?0)?{?return?1;?}//加載套接字庫,加裁失敗則返回?
if?(LOBYTE(wsaData.wVersion)?!=?1?||?HIBYTE(wsaData.wVersion)?!=?1)
{
WSACleanup();
return?1;
}//如果不是1.1的則退出?
sockSrv?=?socket(AF_INET?SOCK_STREAM?IPPROTO_TCP);//創建套接字(socket)。
addrSrv.sin_family?=?AF_INET;
addrSrv.sin_addr.S_un.S_addr?=?htonl(INADDR_ANY);//轉換Unsigned?short為網絡字節序的格式?addrSrv.sin_family=AF_INET;?
addrSrv.sin_port?=?htons(6000);
CWnd*?showText?=?dlgInstance->GetDlgItem(IDC_STATIC_SHOW_TEXT);
int?bindsymbol?=?bind(sockSrv?(SOCKADDR*)&addrSrv?sizeof(SOCKADDR));?//將套接字綁定到一個本地地址和端口上(bind)?listen(sockSrv5);//將套接字設為監聽模式,準備接收客戶請求(listen)。?
if?(bindsymbol?==?0)?
{
showText->SetWindowText(“通訊鏈接成功“);
SOCKADDR_IN?addrClient;//定義地址族?
int?len?=?sizeof(SOCKADDR);//初始化這個參數,這個參數必須被初始化?
while?(true)
{
listen(sockSrv?5);
sockConn?=?accept(sockSrv?(SOCKADDR*)&addrClient?&len);?//accept的第三個參數一定要有初始值。?//等待客戶請求到來;當請求到來后,接受連接請求,返回一個新的對應于此次連接的套接字(accept)。?//此時程序在此發生阻塞?
if?(INVALID_SOCKET?==?sockConn)?{//判斷返回的套接字是否有效
continue;
}
char?sendBuf[100]?=?“OK?success“;
send(sockConn?sendBuf?strlen(sendBuf)?+?1?0);
char?recvBuf[100]?=?{0};
recv(sockConn?recvBuf?100?0);
showText->SetWindowText(recvBuf);
printf(“%s\n“?recvBuf);
closesocket(sockConn);//關閉套接字。等待另一個用戶請求?
}
}
else?
{
int?errCode?=?WSAGetLastError();
//AfxMessageBox(errCode);
CString?result?;
result.Format(“%s%d“?“Socket啟動失敗“?errCode);
showText->SetWindowText(result);
}
return?1;
}
//?CPlayApp?初始化
BOOL?CPlayApp::InitInstance()
{
//?如果一個運行在?Windows?XP?上的應用程序清單指定要
//?使用?ComCtl32.dll?版本?6?或更高版本來啟用可視化方式,
//則需要?InitCommonControls
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????51712??2017-09-26?07:46??Play\.vs\Play\v14\.suo
?????文件???????1993??2017-09-10?09:19??Play\Play\GeneralDefine.h
?????文件???????5078??2016-06-24?09:25??Play\Play\include\DataType.h
?????文件??????24475??2016-06-24?09:25??Play\Play\include\DecodeCardSdk.h
?????文件????1945555??2017-07-14?16:47??Play\Play\include\HCNetSDK.h
?????文件??????30895??2016-06-24?09:25??Play\Play\include\plaympeg4.h
?????文件??????98816??2016-06-24?09:23??Play\Play\lib\AudioRender.dll
?????文件??????92160??2016-06-24?09:23??Play\Play\lib\calib.dll
?????文件???????2452??2016-06-24?09:23??Play\Play\lib\calib.lib
?????文件????2401112??2016-06-24?09:23??Play\Play\lib\d3dx9_43.dll
?????文件????2166272??2016-06-24?09:23??Play\Play\lib\GdiPlus.dll
?????文件?????216144??2016-06-24?09:23??Play\Play\lib\GdiPlus.lib
?????文件????1565184??2016-06-24?09:48??Play\Play\lib\HCCore.dll
?????文件?????148992??2016-06-24?09:48??Play\Play\lib\HCCore.lib
?????文件?????948736??2016-06-24?09:52??Play\Play\lib\HCNetSDK.dll
?????文件?????201876??2016-06-24?09:52??Play\Play\lib\HCNetSDK.lib
?????文件?????292864??2016-06-24?09:23??Play\Play\lib\HCNetSDKCom\AnalyzeData.dll
?????文件?????368128??2016-06-24?09:23??Play\Play\lib\HCNetSDKCom\AudioIntercom.dll
?????文件?????574464??2016-06-24?09:50??Play\Play\lib\HCNetSDKCom\HCAlarm.dll
?????文件??????13960??2016-06-24?09:50??Play\Play\lib\HCNetSDKCom\HCAlarm.lib
?????文件????1069056??2016-06-24?09:49??Play\Play\lib\HCNetSDKCom\HCCoreDevCfg.dll
?????文件?????879104??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCDisplay.dll
?????文件????1377280??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCGeneralCfgMgr.dll
?????文件??????45448??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCGeneralCfgMgr.lib
?????文件????1022976??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCIndustry.dll
?????文件?????549376??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCPlayBack.dll
?????文件?????847872??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCPreview.dll
?????文件??????34880??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCPreview.lib
?????文件?????729088??2016-06-24?09:51??Play\Play\lib\HCNetSDKCom\HCVoiceTalk.dll
?????文件?????987648??2016-06-24?09:23??Play\Play\lib\HCNetSDKCom\libiconv2.dll
............此處省略54個文件信息
- 上一篇:(LSB算法)數字水印的VC++實現
- 下一篇:opengl做的迷宮游戲,基于C++
評論
共有 條評論