| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894 |
- // newclientDlg.cpp : implementation file
- //
- #include "stdafx.h"
- #include "StoneU_HC_OCX.h"
- #include "newclientDlg.h"
- #include "MyOutput.h"
- #include "DBConnection.h"
- #include "EventLog.h"
- #include "VoiceExchange.h"
- #include "SetAlarm.h"
- #include "PlayBack.h"
- #include "SystemConfig.h"
- #include "DecodeCardSDK.h"
- #include "SYS\TIMEB.H"
- #include "GetCapture.h"
- #include "CruiseRoute.h"
- #include "Global.h"
- #include "mdlProject.h"
- #include ".\newclientdlg.h"
- #include "Shlwapi.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- #define LEFT_DISTANCE 0
- #define TOP_DISTANCE 0
- #define W_RATIO 1.0
- #define H_RATIO 1.0
- #pragma comment(lib,"Ws2_32.lib")
- #pragma comment(lib,"lib\\playm4.lib")
- #pragma comment(lib,"lib\\AudioCodecSDK.lib")
- #pragma comment(lib,"lib\\DsSdk.lib")
- #pragma comment(lib,"lib\\HCNetSDK.lib")
- #pragma comment(lib,"Winmm.lib")
- #define WM_MYCOMMAND WM_USER+1 //for sdk
- typedef struct _RECORDINFO
- {
- bool bHaveSignal; //真:有信号
- bool bCapture; //真:正在下载
- DWORD dwVideoStartTime; //开始下载时间
- DWORD dwNoMotionStartTime; //没移动开始时间
- char sDvsName[50]; //DVS
- int nDvrChannel; //DVS 通道号
- }RECORD_INFO;
- RECORD_INFO g_RecordInfo[64];
- int g_nRecordIndex=0; //Record 索引
- COLORREF g_Color1=RGB( 32,41,46 );//RGB( 59,61,63 );//
- COLORREF g_Color2=RGB( 162,154,33 );//59,61,63 );//RGB(0xD1,0xE1,0xF8);//RGB( 162,154,33 );//
- COLORREF g_Color3=RGB( 255,255,255 );
- BOOL __stdcall MessCallBack_EX(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen)
- {
- return TRUE;
- }
- ALARM_INFO alarminfo[MAXALARMIN];
- extern WORD m_iSubWndCreated;
- CGetCapture getpic;
- char cWorkDir[256];
- BOOL bLargeWnd = FALSE; //播放窗口是否在放大,如果是放大的窗口,则关闭该窗口时,恢复到原来多窗口画面;
- WORD numberpos = 0;
- HBRUSH hBrush;
- extern void F_AddEvent(CString csEvent);
- int MYVIEW_LEFT = 20;
- int MYVIEW_TOP = 20;
- HANDLE hVideoBeeper; //报警事件
- HANDLE hBeepThread; //报警线程
- extern int nUseCard;
- BOOL g_bShareSound = FALSE;
- int g_nNetDelay = 2;
- BOOL g_bPTZStart = FALSE;
- int g_nPTZUP = 0;
- int g_nPTZNum = 0;
- DWORD runTimes = 0;
- const int interval = 5000;
- DWORD g_dwTime1 = 0;
- DWORD g_dwTime2 = 0;
- DWORD g_dwThread = 0;
- UINT Beeper(LPVOID pParam)
- {
- while(true)
- {
- Beep(800,500);
- Beep(1000,500);
- Beep(800,500);
- Beep(1000,500);
- if(WaitForSingleObject(hVideoBeeper,1000) == WAIT_OBJECT_0)
- {
- ResetEvent(hVideoBeeper);
- hBeepThread = NULL;
- return FALSE;
- }
- }
- return TRUE;
- }
- //根据IP和通道号得到索引
- int g_FunGetRecordIndex( CString sDvrIP,int nChannel )
- {
- int nRet=-1;
- for( int i=0;i<g_nRecordIndex;i++ )
- {
- if( g_RecordInfo[i].sDvsName==sDvrIP && g_RecordInfo[i].nDvrChannel==nChannel )
- {
- nRet = i;
- break;
- }
- }
- return nRet;
- }
- //消息回调处理函数
- int CALLBACK MessageCallback(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen,WORD dwLinkDVRPort)
- {
- CString csTemp;
- int i = 0;
- BOOL bDisk = FALSE;
- csTemp.Format("dwLinkDVRPor[%d]", dwLinkDVRPort);
- TRACE(csTemp);
- csTemp.Format("%s", sDVRIP);
- bool bBreak=false;
- int nOCXIndex=0;
-
- for(i=0; i<MAXIPNUMBER; i++)
- {
- for( nOCXIndex=0;nOCXIndex<g_nOCXCount;nOCXIndex++ )
- {
- if(strcmp(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->m_Serverinfo[i].m_csServerIP, csTemp) == 0)
- {
- bBreak=true;
- break;
- }
- }
- if( bBreak )
- break;
- }
- int nStartChan = g_pOCXCtrl[nOCXIndex]->m_pDlgMain->m_Serverinfo[i].m_lStartChannel;
- switch(lCommand)
- {
- case COMM_ALARM:
- NET_DVR_ALARMINFO m_alarminfo;
- memcpy(&m_alarminfo, pBuf, sizeof(NET_DVR_ALARMINFO));
- switch(m_alarminfo.dwAlarmType)
- {
- case 0:
- csTemp.Format("服务器%s发生信号量报警 报警输入%d ", sDVRIP, m_alarminfo.dwAlarmInputNumber+1);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- for(i=0; i<MAX_CHANNUM; i++)
- {
- if (m_alarminfo.dwAlarmRelateChannel[i] == 1)
- {
- int nIndex = g_FunGetRecordIndex( sDVRIP,m_alarminfo.dwAlarmInputNumber );
- if( !g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- if(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_MakeDir())
- {
- g_RecordInfo[nIndex].dwVideoStartTime = GetTickCount();
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
-
- g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_StartClientRecord(nIndex);
- }
- }
- else if( g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
- }
- }
- //if (m_alarminfo.dwAlarmRelateChannel[i] == 1)
- //{
- // csTemp.Format("触发通道号%d ", i+nStartChan);
- // F_AddEvent(csTemp);
- // TRACE(csTemp);
- //}
- }
- break;
- case 1:
- for(i=0; i<MAX_DISKNUM; i++)
- {
- if(m_alarminfo.dwDiskNumber[i] == 1)
- {
- csTemp.Format("服务器%s发生硬盘满报警 硬盘号%d ", sDVRIP, i);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- }
- }
-
- break;
- case 2:
- for(i=0; i<MAX_CHANNUM; i++)
- {
- if (m_alarminfo.dwChannel[i] == 1)
- {
- csTemp.Format("服务器%s发生信号丢失报警 通道号%d ", sDVRIP, i+nStartChan);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- int nIndex = g_FunGetRecordIndex( sDVRIP,i );
- if( !g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- if(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_MakeDir())
- {
- g_RecordInfo[nIndex].dwVideoStartTime = GetTickCount();
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
-
- g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_StartClientRecord(nIndex);
- }
- }
- else if( g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
- }
- }
- }
-
- break;
- case 3:
- for(i=0; i<MAX_CHANNUM; i++)
- {
- if (m_alarminfo.dwChannel[i] == 1)
- {
- csTemp.Format("服务器%s发生移动侦测报警 通道号%d ", sDVRIP, i+nStartChan);
- F_AddEvent(csTemp);
- TRACE(csTemp);
-
- //if( (g_pOCXCtrl->m_pDlgMain->m_MyOutput[i].m_iPlayhandle >= 0) )
- {
- int nIndex = g_FunGetRecordIndex( sDVRIP,i );
- if( !g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- if(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_MakeDir())
- {
- g_RecordInfo[nIndex].dwVideoStartTime = GetTickCount();
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
-
- g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_StartClientRecord(nIndex);
- }
- }
- else if( g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
- }
- }
- }
- /*if (m_alarminfo.dwChannel[i] == 1)
- {
- csTemp.Format("服务器%s发生移动侦测报警 通道号%d ", sDVRIP, i+nStartChan);
- F_AddEvent(csTemp);
- TRACE(csTemp);
-
- if( !g_pOCXCtrl->m_pDlgMain->m_bCapture[i] )
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) )
- {
- if(g_pOCXCtrl->m_pDlgMain->F_MakeDir())
- {
- g_pOCXCtrl->m_pDlgMain->F_StartClientRecord(i);
- g_pOCXCtrl->m_pDlgMain->m_dwNoMotionStartTime[i] = GetTickCount();
- }
- }
- }
- }*/
- }
-
- break;
- case 4:
- for(i=0; i<MAX_DISKNUM; i++)
- {
- if(m_alarminfo.dwDiskNumber[i] == 1)
- {
- csTemp.Format("服务器%s发生硬盘未格式化报警 硬盘号%d ", sDVRIP, i);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- }
- }
-
- break;
- case 5:
- for(i=0; i<MAX_DISKNUM; i++)
- {
- if(m_alarminfo.dwDiskNumber[i] == 1)
- {
- bDisk = TRUE;
- csTemp.Format("服务器%s发生读写硬盘出错报警 硬盘号%d ", sDVRIP, i);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- }
- }
- if (bDisk == FALSE)
- {
- csTemp.Format("服务器%s发生未接硬盘出错报警 ", sDVRIP);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- }
- bDisk = FALSE;
- break;
- case 6:
- for(i=0; i<MAX_CHANNUM; i++)
- {
- if (m_alarminfo.dwChannel[i] == 1)
- {
- csTemp.Format("服务器%s发生遮挡报警 通道号%d ", sDVRIP, i+nStartChan);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- int nIndex = g_FunGetRecordIndex( sDVRIP,i );
- if( !g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- if(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_MakeDir())
- {
- g_RecordInfo[nIndex].dwVideoStartTime = GetTickCount();
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
-
- g_pOCXCtrl[nOCXIndex]->m_pDlgMain->F_StartClientRecord(nIndex);
- }
- }
- else if( g_RecordInfo[nIndex].bCapture && g_RecordInfo[nIndex].bHaveSignal )
- {
- g_RecordInfo[nIndex].dwNoMotionStartTime = GetTickCount();
- }
- }
- }
- break;
- case 7:
- for(i=0; i<MAX_CHANNUM; i++)
- {
- if (m_alarminfo.dwChannel[i] == 1)
- {
- csTemp.Format("服务器%s发生制式不匹配 通道号%d ", sDVRIP, i+nStartChan);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- }
- }
- break;
- case 8:
- csTemp.Format("服务器%s发生非法访问 ", sDVRIP);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- break;
- case 9:
- csTemp.Format("串口状态%d", m_alarminfo.dwAlarmInputNumber);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- break;
- default:
- csTemp.Format("报警类型:未知 %d",m_alarminfo.dwAlarmType);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- break;
- }
- if(!hBeepThread)
- {
- ResetEvent(hVideoBeeper);
- // hBeepThread = AfxBeginThread(Beeper,NULL);
- }
- csTemp.Format("%s", sDVRIP);
- for(i=0; i<16; i++)//只能对16台布防的设备显示灯
- {
- if(strcmp(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->m_Serverinfo[i].m_csServerIP, csTemp) == 0)
- break;
- }
- if(i != MAX_CHANNUM)
- {
- if(g_pOCXCtrl[nOCXIndex]->m_pDlgMain->m_ClientParam.m_iAlarmHandle[i] >= 0)
- {
- }
- else
- {
- }
- }
- break;
- case COMM_TRADEINFO:
- NET_DVR_TRADEINFO m_TradeInfo;
- memcpy(&m_TradeInfo, pBuf, sizeof(NET_DVR_TRADEINFO));
- csTemp.Format("服务器%s收到卡号信息%s ", sDVRIP, m_TradeInfo.CardNumber);
- F_AddEvent(csTemp);
- TRACE(csTemp);
- break;
- default:
- break;
- }
- return 0;
- }
- /////////////////////////////////////////////////////////////////////////////
- // CNewclientDlg dialog
- CNewclientDlg::CNewclientDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CNewclientDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CNewclientDlg)
- m_yzd = 0;
- //}}AFX_DATA_INIT
- // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
- m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- memset( g_RecordInfo,0,sizeof(RECORD_INFO)*64 );
- m_nSurveillanceNumber = 0;
- m_nOCXIndex = 0;
- m_lVoiceIndex = -1;
- m_nActiveWndNumber = 0;
- m_dwPreviewTime = 0;
- }
- void CNewclientDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CNewclientDlg)
- DDX_Control(pDX, IDC_COMBONETDELAY, m_NetDelayCtrl);
- DDX_Control(pDX, IDC_ALARMLED9, m_AlarmLed9);
- DDX_Control(pDX, IDC_ALARMLED8, m_AlarmLed8);
- DDX_Control(pDX, IDC_ALARMLED7, m_AlarmLed7);
- DDX_Control(pDX, IDC_ALARMLED6, m_AlarmLed6);
- DDX_Control(pDX, IDC_ALARMLED5, m_AlarmLed5);
- DDX_Control(pDX, IDC_ALARMLED4, m_AlarmLed4);
- DDX_Control(pDX, IDC_ALARMLED3, m_AlarmLed3);
- DDX_Control(pDX, IDC_ALARMLED2, m_AlarmLed2);
- DDX_Control(pDX, IDC_ALARMLED16, m_AlarmLed16);
- DDX_Control(pDX, IDC_ALARMLED15, m_AlarmLed15);
- DDX_Control(pDX, IDC_ALARMLED14, m_AlarmLed14);
- DDX_Control(pDX, IDC_ALARMLED13, m_AlarmLed13);
- DDX_Control(pDX, IDC_ALARMLED12, m_AlarmLed12);
- DDX_Control(pDX, IDC_ALARMLED11, m_AlarmLed11);
- DDX_Control(pDX, IDC_ALARMLED10, m_AlarmLed10);
- DDX_Control(pDX, IDC_ALARMLED1, m_AlarmLed1);
- DDX_Control(pDX, IDC_LED9, m_CapLed9);
- DDX_Control(pDX, IDC_LED8, m_CapLed8);
- DDX_Control(pDX, IDC_LED7, m_CapLed7);
- DDX_Control(pDX, IDC_LED6, m_CapLed6);
- DDX_Control(pDX, IDC_LED5, m_CapLed5);
- DDX_Control(pDX, IDC_LED4, m_CapLed4);
- DDX_Control(pDX, IDC_LED3, m_CapLed3);
- DDX_Control(pDX, IDC_LED2, m_CapLed2);
- DDX_Control(pDX, IDC_LED16, m_CapLed16);
- DDX_Control(pDX, IDC_LED15, m_CapLed15);
- DDX_Control(pDX, IDC_LED14, m_CapLed14);
- DDX_Control(pDX, IDC_LED13, m_CapLed13);
- DDX_Control(pDX, IDC_LED12, m_CapLed12);
- DDX_Control(pDX, IDC_LED11, m_CapLed11);
- DDX_Control(pDX, IDC_LED10, m_CapLed10);
- DDX_Control(pDX, IDC_LED1, m_CapLed1);
- DDX_Control(pDX, IDC_COMBOWNDNUM, m_windownum);
- DDX_Control(pDX, IDC_SLIDERYL, m_yl);
- DDX_Control(pDX, IDC_SLIDERSD, m_sd);
- DDX_Control(pDX, IDC_SLIDERLD, m_ld);
- DDX_Control(pDX, IDC_SLIDERDBD, m_dbd);
- DDX_Control(pDX, IDC_SLIDERBHD, m_bhd);
- DDX_Text(pDX, IDC_YZD, m_yzd);
- //}}AFX_DATA_MAP
- DDX_Control(pDX, IDC_PLAY, m_btn_Preview);
- DDX_Control(pDX, IDC_GETPICTURE, m_btn_GetPic);
- DDX_Control(pDX, IDC_SYSTEMCFG, m_btn_SetConfig);
- DDX_Control(pDX, IDC_VIDEOFILEPLAY, m_btn_Playback);
- //DDX_Control(pDX, IDC_BUTTONUP, m_Btn_Up);
- //DDX_Control(pDX, IDC_BUTTONDOWN, m_Btn_Down);
- //DDX_Control(pDX, IDC_BUTTONLEFT, m_Btn_Left);
- //DDX_Control(pDX, IDC_BUTTONRIGHT, m_Btn_Right);
- //DDX_Control(pDX, IDC_BUTTONTJLEFT, m_Btn_TJLeft);
- //DDX_Control(pDX, IDC_BUTTONTJRIGHT, m_Btn_TJRight);
- //DDX_Control(pDX, IDC_BUTTONJJLEFT, m_Btn_JJLeft);
- //DDX_Control(pDX, IDC_BUTTONJJRIGHT, m_Btn_JJRight);
- //DDX_Control(pDX, IDC_BUTTONGQLEFT, m_Btn_GQLeft);
- //DDX_Control(pDX, IDC_BUTTONGQRIGHT, m_Btn_GQRight);
- DDX_Control(pDX, IDC_BUTTONYZW, m_Btn_XZW);
- }
- BEGIN_MESSAGE_MAP(CNewclientDlg, CDialog)
- //{{AFX_MSG_MAP(CNewclientDlg)
- ON_WM_SYSCOMMAND()
- ON_WM_PAINT()
- ON_WM_QUERYDRAGICON()
- ON_BN_CLICKED(IDC_EXIT, OnExit)
- ON_BN_CLICKED(IDC_AUDIOEXCHANGE, OnAudioexchange)
- ON_BN_CLICKED(IDC_SYSTEMCFG, OnSystemcfg)
- ON_BN_CLICKED(IDC_PLAY, OnVideonetplay)
- ON_BN_CLICKED(IDC_GETPICTURE, OnGetpicture)
- ON_BN_CLICKED(IDC_RECORD, OnRecord)
- ON_BN_CLICKED(IDC_EVENTLIST, OnEventlist)
- ON_BN_CLICKED(IDC_BUTTONALARMSET, OnButtonalarmset)
- ON_BN_CLICKED(IDC_VIDEOFILEPLAY, OnVideofileplay)
- ON_WM_TIMER()
- ON_WM_HSCROLL()
- ON_BN_CLICKED(IDC_BUTTONPOLL, OnButtonpoll)
- ON_BN_CLICKED(IDC_BUTTONYZW, OnButtonyzw)
- ON_CBN_SELCHANGE(IDC_COMBOWNDNUM, OnSelchangeCombowndnum)
- ON_CBN_SELCHANGE(IDC_COMBONETDELAY, OnSelchangeCombonetdelay)
- ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
- ON_WM_MOVE()
- ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
- ON_MESSAGE(WM_MYCOMMAND,OnMyCommand)
- ON_BN_CLICKED(IDC_CRUISE, OnCruise)
- //}}AFX_MSG_MAP
- ON_BN_CLICKED(IDC_BUTTONUP, OnBnClickedButtonup)
- ON_BN_CLICKED(IDC_BUTTONDOWN, OnBnClickedButtondown)
- ON_WM_CTLCOLOR()
- ON_WM_ERASEBKGND()
- ON_WM_LBUTTONUP()
- ON_BN_CLICKED(IDC_BUTTONTJLEFT, OnBnClickedButtontjleft)
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- //wParam: 消息类型 lParam: 发生异常的索引值。
- LRESULT CNewclientDlg::OnMyCommand(WPARAM wParam, LPARAM lParam)
- {
- char tempbuf[256];
- int i = 0;
- DWORD dwType = wParam; //异常类型
- LONG lIndex = lParam; //相对应得操作返回的句柄
- ZeroMemory(tempbuf,256);
- switch(dwType)
- {
- case EXCEPTION_AUDIOEXCHANGE: //语音对讲时网络异常
- sprintf(tempbuf,"语音对讲时网络异常!!!");
- TRACE("%s",tempbuf);
- if(m_lVoiceIndex != -1)
- {
- if(lIndex == m_lVoiceIndex)
- {
- if(NET_DVR_StopVoiceCom(m_lVoiceIndex))
- {
- GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("语音对讲");
- m_lVoiceIndex = -1;
- }
- else
- {
- MessageBox("停止语音对讲失败!", "温馨提示", MB_ICONINFORMATION);
- }
- }
- }
- break;
- case EXCEPTION_ALARM: //报警上传时网络异常
- sprintf(tempbuf,"报警上传时网络异常!!!");
- TRACE("%s",tempbuf);
- for(i = 0; i < MAXIPNUMBER; i++)
- {
- if(m_ClientParam.m_iAlarmHandle[i] >= 0)
- {
- if(lIndex == m_ClientParam.m_iAlarmHandle[i])
- {
- if(NET_DVR_CloseAlarmChan(m_ClientParam.m_iAlarmHandle[i]))
- {
- m_ClientParam.m_iAlarmHandle[i] = -1;
- }
- else
- {
- CString sTemp;
- sTemp.Format("%s报警撤防失败!",m_Serverinfo[i].m_csServerName);
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_GREEN,CLed::LED_DISABLED,CLed::LED_ROUND);
- }
- }
- }
- break;
- case EXCEPTION_PREVIEW: //网络预览时异常
- sprintf(tempbuf,"网络预览时网络异常!!!");
- TRACE("%s",tempbuf);
- if(m_ClientParam.m_bPlaying)
- {
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if(lIndex == m_MyOutput[i].m_iPlayhandle)
- {
- if(m_MyOutput[i].m_bFileSave)
- {
- F_StopClientRecord(i);
- }
- m_MyOutput[i].StopNet();
- }
- }
- }
- break;
- case EXCEPTION_SERIAL: //透明通道传输时异常
- sprintf(tempbuf,"透明通道传输时网络异常!!!");
- TRACE("%s",tempbuf);
- //TODO: 关闭透明通道
- break;
- case EXCEPTION_RECONNECT: //预览的时候重连
- sprintf(tempbuf,"预览时网络重连!!!");
- TRACE("%s",tempbuf);
- break;
- default:
- break;
- }
- return 0L;
- }
- // CNewclientDlg message handlers
- BOOL CNewclientDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // Add "About..." menu item to system menu.
- // Set the icon for this dialog. The framework does this automatically
- // when the application's main window is not a dialog
- //SetIcon(m_hIcon, TRUE); // Set big icon
- //SetIcon(m_hIcon, FALSE); // Set small icon
- //GetSysData();
- DBConnectionThreadStart();
- CRect rc( 0,0,g_nFrameWeight,g_nFrameHeight );
- this->MoveWindow( rc );
- //调整控件位置
- SetPos();
- short shBtnColor = 30;
- m_btn_Preview.SetIcon(IDI_PREVIEW);
- //m_btn_Preview.SetTooltipText(_T("预览视频"));
- //m_btn_Preview.DrawTransparent(TRUE);
- m_btn_Preview.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color1);
- m_btn_Preview.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_btn_Preview.SetColor(CButtonST::BTNST_COLOR_BK_OUT, g_Color1);
- m_btn_Preview.SetColor(CButtonST::BTNST_COLOR_FG_OUT, g_Color3);
- m_btn_Preview.SetColor(CButtonST::BTNST_COLOR_FG_IN, g_Color3);
- m_btn_GetPic.SetIcon(IDI_SAVEPIC);
- //m_btn_GetPic.SetTooltipText(_T("保存图片"));
- //m_btn_GetPic.DrawTransparent(TRUE);
- m_btn_GetPic.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color1);
- m_btn_GetPic.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_btn_GetPic.SetColor(CButtonST::BTNST_COLOR_BK_OUT, g_Color1);
- m_btn_GetPic.SetColor(CButtonST::BTNST_COLOR_FG_OUT, g_Color3);
- m_btn_GetPic.SetColor(CButtonST::BTNST_COLOR_FG_IN, g_Color3);
- m_btn_SetConfig.SetIcon(IDI_SETCONFIG);
- //m_btn_SetConfig.SetTooltipText(_T("系统配置"));
- //m_btn_SetConfig.DrawTransparent(TRUE);
- m_btn_SetConfig.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color1);
- m_btn_SetConfig.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_btn_SetConfig.SetColor(CButtonST::BTNST_COLOR_BK_OUT, g_Color1);
- m_btn_SetConfig.SetColor(CButtonST::BTNST_COLOR_FG_OUT, g_Color3);
- m_btn_SetConfig.SetColor(CButtonST::BTNST_COLOR_FG_IN, g_Color3);
- m_btn_Playback.SetIcon(IDI_PLAYBACK);//, (int)BTNST_AUTO_GRAY);
- //m_btn_Playback.SetTooltipText(_T("视频回放"));
- //m_btn_Playback.DrawTransparent(TRUE);
- m_btn_Playback.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color1);
- m_btn_Playback.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_btn_Playback.SetColor(CButtonST::BTNST_COLOR_BK_OUT, g_Color1);
- m_btn_Playback.SetColor(CButtonST::BTNST_COLOR_FG_OUT, g_Color3);
- m_btn_Playback.SetColor(CButtonST::BTNST_COLOR_FG_IN, g_Color3);
- TRACE("\nCurrent SDK Version is 0x%08x\n", NET_DVR_GetSDKBuildVersion());
- // TODO: Add extra initialization here
- int i,j;
- CString sTemp;
- NET_DVR_DEVICEINFO DeviceInfo;
- LONG lUserID = 0;
- char csServerIP[16];
- char cUserName[100];
- char cPassword[100];
- BOOL bLogin = FALSE;
- char cTemp[100];
- DWORD dwReturned = 0;
- m_PTZTesttimer = 0;
- nUseCard =0;
- m_byException = 0;
- hBrush=::CreateSolidBrush(COLORREF(0xff0000));
- ZeroMemory(cWorkDir, 256);
- GetCurrentDirectory(256, cWorkDir);
- TRACE("cWordDir = %s", cWorkDir);
-
- CStoneU_HC_OCXApp* pApp = (CStoneU_HC_OCXApp*)AfxGetApp();
- m_iHardDriverNum = pApp->m_iDriverNum;
- for(i = 0; i < m_iHardDriverNum; i++)
- {
- m_cHardDriver[i] = pApp->m_cHardDriver[i];
- }
- m_ClientParam.m_bCheckServerTime = FALSE;
- m_ClientParam.m_iCheckServerTime = 0;
- for(i = 0; i < MAXIPNUMBER; i++)
- {
- m_Serverinfo[i].m_csServerName.Format(_T(""));
- m_Serverinfo[i].m_iServerChannelNumber = -1;
- m_Serverinfo[i].m_wServerPort = 8000;
- m_Serverinfo[i].m_lServerID = -1;
- m_Serverinfo[i].m_dwDevSoftVersion = 0;
- for(j = 0; j < MAXCHANNUM; j++)
- {
- m_Allipinfo[i][j].m_lServerID = -1;
- m_Allipinfo[i][j].m_iChannel = -1;
- m_Allipinfo[i][j].m_iServerNum = -1;
- m_Allipinfo[i][j].m_iChannelNum = -1;
- m_Allipinfo[i][j].m_wServerport = 8000;
- m_Allipinfo[i][j].m_bChoosed = FALSE;
- m_Allipinfo[i][j].m_iSequence = -1;
- }
- }
- for(i=0; i<10; i++)
- {
- cTemp[i] = i;
- }
-
- ReadSurveillanceConfig();
- for(i=0; i<MAXIPNUMBER; i++)
- {
- if(m_Serverinfo[i].m_iServerChannelNumber >= 0)
- {
- strcpy(csServerIP, m_Serverinfo[i].m_csServerIP);
- strncpy(cUserName, m_Serverinfo[i].m_csServerAdminName, MAX_NAMELEN);
- strncpy(cPassword, m_Serverinfo[i].m_csServerAdminPasswd, PASSWD_LEN);
- lUserID = NET_DVR_Login(csServerIP, m_Serverinfo[i].m_wServerPort, cUserName, cPassword, &DeviceInfo);
- if(lUserID < 0)
- {
- CString sTemp;
- int nErr = NET_DVR_GetLastError();
- if(nErr == NET_DVR_PASSWORD_ERROR)
- {
- sTemp.Format("%s 用户名密码错误! ", csServerIP);
- TRACE(sTemp);
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- //TODO: 其他错误值
- else
- {
- sTemp.Format("%s 由于网络原因或DVR忙, 注册失败! ", csServerIP);
- TRACE(sTemp);
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- }
- else
- {
- NET_DVR_DEVICECFG DeviceCfg;
- if (!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_DEVICECFG, 0, &DeviceCfg, sizeof(DeviceCfg), &dwReturned))
- {
- sTemp.Format("%s 获取设备参数失败! ", csServerIP);
- TRACE(sTemp);
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- else
- {
- m_Serverinfo[i].m_dwDevSoftVersion = DeviceCfg.dwSoftwareVersion;
- }
- bLogin = TRUE;
- m_Serverinfo[i].m_lServerID = lUserID;
- m_Serverinfo[i].m_wServerType = DeviceInfo.byDVRType;
- m_Serverinfo[i].m_lStartChannel = DeviceInfo.byStartChan;
- m_Serverinfo[i].m_dwAlarmInNum = DeviceInfo.byAlarmInPortNum;
- m_Serverinfo[i].m_dwAlarmOutNum = DeviceInfo.byAlarmOutPortNum;
- m_Serverinfo[i].m_iServerChannelNumber = DeviceInfo.byChanNum;
- m_Serverinfo[i].m_dwDiskNum = DeviceInfo.byDiskNum;
- ZeroMemory(cTemp, 100);
- memcpy(cTemp, DeviceInfo.sSerialNumber, SERIALNO_LEN);
- m_Serverinfo[i].m_csSerialNumber.Format("%s", cTemp);
-
- for(j = 0; j < MAXCHANNUM; j++)
- {
- if(j < DeviceInfo.byChanNum)
- {
- m_Allipinfo[i][j].m_lServerID = lUserID;
- m_Allipinfo[i][j].m_csChanName.Format("通道%d",(j+DeviceInfo.byStartChan));
- m_Allipinfo[i][j].m_iChannel = j+DeviceInfo.byStartChan;
- if( (m_Allipinfo[i][j].m_bChoosed) && (m_Allipinfo[i][j].m_iSequence != -1) )
- {
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_bChoosed = m_Allipinfo[i][j].m_bChoosed;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csChanName = m_Allipinfo[i][j].m_csChanName;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csIP = m_Allipinfo[i][j].m_csIP;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csMultiIP = m_Allipinfo[i][j].m_csMultiIP;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csPassword = m_Allipinfo[i][j].m_csPassword;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csUser = m_Allipinfo[i][j].m_csUser;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_dwAddress = m_Allipinfo[i][j].m_dwAddress;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_dwAlarmlevel = m_Allipinfo[i][j].m_dwAlarmlevel;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_dwIPvalue = m_Allipinfo[i][j].m_dwIPvalue;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_dwMultiIPvalue = m_Allipinfo[i][j].m_dwMultiIPvalue;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_dwProtocol = m_Allipinfo[i][j].m_dwProtocol;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_iChannel = m_Allipinfo[i][j].m_iChannel;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_iSequence = m_Allipinfo[i][j].m_iSequence;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_lServerID = m_Allipinfo[i][j].m_lServerID;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_wJMQtype = m_Allipinfo[i][j].m_wJMQtype;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_wServerport = m_Allipinfo[i][j].m_wServerport;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_iServerNum = i;
- m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_iChannelNum = j;
- m_nSurveillanceNumber++;
- //TRACE("m_iSequence = %d csServerIP = %s m_lServerID = %d", m_Allipinfo[i][j].m_iSequence, m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_csIP, m_Selipinfo[m_Allipinfo[i][j].m_iSequence].m_lServerID);
- }
- }
- else
- {
- m_Allipinfo[i][j].m_lServerID = -1;
- m_Allipinfo[i][j].m_csChanName.Format("");
- m_Allipinfo[i][j].m_iChannel = -1;
- }
- }
- }
- }
- }
- m_ClientParam.m_bCyclePlay = FALSE;
- m_ClientParam.m_iCycleTime = 20;
- m_ClientParam.m_bUseCard = FALSE;
- m_ClientParam.m_bNTSC = FALSE;
- m_ClientParam.m_bAutoRecord = FALSE;
- m_ClientParam.m_bCycleRecord = FALSE;
- m_ClientParam.m_iRecordFileInterval = 60;
- m_ClientParam.m_iStartRecordDriver = 1;
- m_ClientParam.m_iEndRecordDriver = m_iHardDriverNum - 1;
- m_ClientParam.m_csDownLoadPath.Format(_T("D:\\isP-Other\\HK\\DownLoad"));
- m_ClientParam.m_csPictureSavePath.Format(_T("D:\\isP-Other\\HK\\Picture"));
- m_ClientParam.m_csLogSavePath.Format(_T("D:\\isP-Other\\HK\\EventLog"));
- sTemp.Format("%s\\", m_ClientParam.m_csDownLoadPath);
- MakeFolderExist( sTemp );//CreateDirectory(sTemp, NULL);
- sTemp.Format("%s\\", m_ClientParam.m_csPictureSavePath);
- MakeFolderExist( sTemp );//CreateDirectory(sTemp, NULL);
- sTemp.Format("%s\\", m_ClientParam.m_csLogSavePath);
- MakeFolderExist( sTemp );//CreateDirectory(sTemp, NULL);
- for(i = 0; i < 7; i++)
- {
- for(j = 0; j < 4; j++)
- {
- m_ClientParam.m_ClientRecordTime[i][j].m_iStartHour = 0;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStartMinute = 0;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStartTime = 0;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStopHour = 0;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStopMinute = 0;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStopTime = 0;
- }
- }
- m_ClientParam.m_bAllDiskFull = FALSE;
- m_ClientParam.m_bPlaying = FALSE;
- m_ClientParam.m_bCycling = FALSE;
- m_ClientParam.m_bNextPage = FALSE;
- m_ClientParam.m_bFrontPage = FALSE;
- m_ClientParam.m_bEnlarged = FALSE;
- m_ClientParam.m_bFullScreen = FALSE;
- m_ClientParam.m_bMultiScreen = FALSE;
- for(i = 0; i < MAXIPNUMBER; i++)
- m_ClientParam.m_iAlarmHandle[i] = -1;
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- m_ClientParam.m_VideoInfo[i].m_iBrightness = DEFAULTBRIGHTNESS;
- m_ClientParam.m_VideoInfo[i].m_iContrast = DEFAULTCONTRAST;
- m_ClientParam.m_VideoInfo[i].m_iSaturation = DEFAULTSATURATION;
- m_ClientParam.m_VideoInfo[i].m_iHue = DEFAULTHUE;
- }
- m_ClientParam.m_Volume = DEFAULTVOLUME;
- ReadClientConfig();
-
- m_cCurrentRecordDriver = m_cHardDriver[m_ClientParam.m_iStartRecordDriver];
- autorecordtimer = 0;
- autorecordtimer = SetTimer(AUTORECORD_TIMER, 2000, NULL);
- if(m_ClientParam.m_bCheckServerTime)
- {
- TRACE("启动硬盘录像机校时时钟,校时时间是每天的%06d", m_ClientParam.m_iCheckServerTime);
- checkservertimer = 0;
- checkservertimer = SetTimer(CHECKSERVER_TIMER, 1000, NULL);
- }
- for(i = 0; i < MAXALARMIN; i++)
- {
- alarminfo[i].m_csIP.Format(_T(""));
- alarminfo[i].m_csUsername.Format(_T(""));
- alarminfo[i].m_csPassword.Format(_T(""));
- alarminfo[i].m_lServerID = -1;
- alarminfo[i].m_iChannel = -1;
- alarminfo[i].m_iAlarmLevel = -1;
- alarminfo[i].m_iAlarmType = -1;
- alarminfo[i].m_iPortIndex = -1;
- alarminfo[i].m_wServerPort = 8000;
- }
- m_iAlarmNumber = 0;
-
- m_ld.SetRange(1,10,TRUE);
- m_sd.SetRange(1,10,TRUE);
- m_bhd.SetRange(1,10,TRUE);
- m_dbd.SetRange(1,10,TRUE);
- m_yl.SetRange(1,100,TRUE);
- m_ld.SetPos(DEFAULTBRIGHTNESS);
- m_sd.SetPos(DEFAULTHUE);
- m_bhd.SetPos(DEFAULTSATURATION);
- m_dbd.SetPos(DEFAULTCONTRAST);
- m_yl.SetPos(DEFAULTVOLUME);
-
- m_mybuttonup.SubclassDlgItemTest(IDC_BUTTONUP,this);
- m_mybuttondown.SubclassDlgItemTest(IDC_BUTTONDOWN,this);
- m_mybuttonleft.SubclassDlgItemTest(IDC_BUTTONLEFT,this);
- m_mybuttonright.SubclassDlgItemTest(IDC_BUTTONRIGHT,this);
- m_mybuttontjright.SubclassDlgItemTest(IDC_BUTTONTJRIGHT,this);
- m_mybuttontjleft.SubclassDlgItemTest(IDC_BUTTONTJLEFT,this);
- m_mybuttonjjleft.SubclassDlgItemTest(IDC_BUTTONJJLEFT,this);
- m_mybuttonjjright.SubclassDlgItemTest(IDC_BUTTONJJRIGHT,this);
- m_mybuttongqleft.SubclassDlgItemTest(IDC_BUTTONGQLEFT,this);
- m_mybuttongqright.SubclassDlgItemTest(IDC_BUTTONGQRIGHT,this);
-
- InitLed();
- m_iSubWndCreated = 0;
- for (i=0;i<MAXVIEWNUM;i++)
- {
- m_MyOutput[i].Create(IDD_MYOUTPUT,this);
- }
- m_windownum.SetCurSel(1);
-
- //初始化窗口个数
- if( m_nSurveillanceNumber<=1 )
- WINDOWNUM = 1;
- else if( m_nSurveillanceNumber>=2 && m_nSurveillanceNumber<=4 )
- WINDOWNUM = 4;
- else if( m_nSurveillanceNumber>=5 && m_nSurveillanceNumber<=9 )
- WINDOWNUM = 9;
- else if( m_nSurveillanceNumber>=10 && m_nSurveillanceNumber<=16 )
- WINDOWNUM = 16;
- else if( m_nSurveillanceNumber>=17 && m_nSurveillanceNumber<=33 )
- WINDOWNUM = 33;
- else if( m_nSurveillanceNumber>=34 && m_nSurveillanceNumber<=64 )
- WINDOWNUM = 64;
- channelcount = 0;
- if(m_ClientParam.m_bUseCard)
- {
- F_InitDecodeCard();
- }
- m_Mycurwin.Create(IDD_CURWIN,this);
- ArrayWindow(0,WINDOWNUM);
- MoveCurWin(WINDOWNUM,0);
-
- hVideoBeeper=NULL; //报警事件
- hBeepThread=NULL; //报警线程
- hVideoBeeper = ::CreateEvent(NULL, // no security attributes
- TRUE, // auto-reset event
- FALSE, // initial state is signaled
- NULL // object name
- );
- ResetEvent(hVideoBeeper);
-
- freespacetimer = 0;
- freespacetimer = SetTimer(FREESPACE_TIMER, 5000, NULL);
- fileintervaltimer = 0;
- fileintervaltimer = SetTimer(FILEINTERVAL_TIMER, 2000, NULL);
- //SDK中收到DVR发过来的信息需要上传的通过回调函数实现,比如报警信息,日志信息等。
- bool f = NET_DVR_SetDVRMessCallBack_NEW(MessageCallback);
- //SDK中检测到异常通过消息的方式上传,比如网络断开
- NET_DVR_SetDVRMessage(WM_MYCOMMAND, this->m_hWnd);
- // 设置连接的超时设置
- NET_DVR_SetConnectTime(5000,1);
- //7200端口是监听端口
- if(!NET_DVR_StartListen(NULL,7200))
- {
- CString sTemp;
- sTemp.Format("ERROR: NET_DVR_StartListen = %d \n", NET_DVR_GetLastError());
- //MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- cycletimer = 0;
- m_NetDelayCtrl.SetCurSel(g_nNetDelay);
- //预览,布防
- OnVideonetplay();
-
- SetTimer(55, 2000, NULL);
- CRect rc1,rc2;
- GetDlgItem(IDC_STATIC4)->GetWindowRect(rc1);
- GetDlgItem(IDC_VEDIO_SHOW)->GetWindowRect(rc2);
- //this->MoveWindow( CRect( 0,0,rc1.right,rc2.bottom ) );
-
- return TRUE; // return TRUE unless you set the focus to a control
- }
- void CNewclientDlg::SetPos()
- {
- CRect rMain;
- this->GetWindowRect( rMain );
- ScreenToClient( &rMain );
- int W=0,H=0;
- CRect rcSta2;
- GetDlgItem(IDC_STATIC2)->GetWindowRect( rcSta2 );
- W = rcSta2.Width();
- H = rcSta2.Height();
- rcSta2.right = rMain.right-10;
- rcSta2.left = rcSta2.right-W ;
- rcSta2.top = rMain.top+10;
- rcSta2.bottom = rcSta2.top+H;
- GetDlgItem(IDC_STATIC2)->MoveWindow( rcSta2 );
- CRect rcGrid1;
- GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rcGrid1 );
- W = rcGrid1.Width();
- H = rcGrid1.Height();
- rcGrid1.left = rcSta2.left+7 ;
- rcGrid1.right = rcGrid1.left+W;
- rcGrid1.top = rcSta2.top+13;
- rcGrid1.bottom = rcGrid1.top+H;
- GetDlgItem(IDC_STA_GRID1)->MoveWindow( rcGrid1 );
-
- CRect rcGrid2;
- rcGrid2.left = rcGrid1.right+2 ;
- rcGrid2.right = rcGrid2.left+W;
- rcGrid2.top = rcGrid1.top;
- rcGrid2.bottom = rcGrid1.bottom;
- GetDlgItem(IDC_STA_GRID2)->MoveWindow( rcGrid2 );
- CRect rcGrid3;
- rcGrid3.left = rcGrid2.right+2 ;
- rcGrid3.right = rcGrid3.left+W;
- rcGrid3.top = rcGrid2.top;
- rcGrid3.bottom = rcGrid2.bottom;
- GetDlgItem(IDC_STA_GRID3)->MoveWindow( rcGrid3 );
- CRect rcGrid4;
- rcGrid4.left = rcSta2.left+7 ;
- rcGrid4.right = rcGrid4.left+W;
- rcGrid4.top = rcGrid1.bottom+2;
- rcGrid4.bottom = rcGrid4.top+H;
- GetDlgItem(IDC_STA_GRID4)->MoveWindow( rcGrid4 );
- CRect rcGrid5;
- rcGrid5.left = rcGrid4.right+2 ;
- rcGrid5.right = rcGrid5.left+W;
- rcGrid5.top = rcGrid4.top;
- rcGrid5.bottom = rcGrid4.bottom;
- GetDlgItem(IDC_STA_GRID5)->MoveWindow( rcGrid5 );
- CRect rcGrid6;
- rcGrid6.left = rcGrid5.right+2 ;
- rcGrid6.right = rcGrid6.left+W;
- rcGrid6.top = rcGrid4.top;
- rcGrid6.bottom = rcGrid4.bottom;
- GetDlgItem(IDC_STA_GRID6)->MoveWindow( rcGrid6 );
- ////////////////////
- CRect rcSta17;
- GetDlgItem(IDC_STATIC17)->GetWindowRect( rcSta17 );
- W = rcSta17.Width();
- H = rcSta17.Height();
- rcSta17.right = rcSta2.right;
- rcSta17.left = rcSta2.left ;
- rcSta17.top = rcSta2.bottom+20;
- rcSta17.bottom = rcSta17.top+H;
- GetDlgItem(IDC_STATIC17)->MoveWindow( rcSta17 );
- CRect rcBtnPlay;
- GetDlgItem(IDC_PLAY)->GetWindowRect( rcBtnPlay );
- W = rcBtnPlay.Width();
- H = rcBtnPlay.Height();
- rcBtnPlay.left = rcSta17.left+3 ;
- rcBtnPlay.right = rcSta17.right-3;
- rcBtnPlay.top = rcSta17.top+10;
- rcBtnPlay.bottom = rcBtnPlay.top+H;
- GetDlgItem(IDC_PLAY)->MoveWindow( rcBtnPlay );
- CRect rcBtnGetPic;
- rcBtnGetPic.left = rcSta17.left+3 ;
- rcBtnGetPic.right = rcSta17.right-3;
- rcBtnGetPic.top = rcBtnPlay.bottom+2;
- rcBtnGetPic.bottom = rcBtnGetPic.top+H;
- GetDlgItem(IDC_GETPICTURE)->MoveWindow( rcBtnGetPic );
- CRect rcBtnSet;
- rcBtnSet.left = rcSta17.left+3 ;
- rcBtnSet.right = rcSta17.right-3;
- rcBtnSet.top = rcBtnGetPic.bottom+2;
- rcBtnSet.bottom = rcBtnSet.top+H;
- GetDlgItem(IDC_SYSTEMCFG)->MoveWindow( rcBtnSet );
- CRect rcBtnPlayBack;
- rcBtnPlayBack.left = rcSta17.left+3 ;
- rcBtnPlayBack.right = rcSta17.right-3;
- rcBtnPlayBack.top = rcBtnSet.bottom+2;
- rcBtnPlayBack.bottom = rcBtnPlayBack.top+H;
- GetDlgItem(IDC_VIDEOFILEPLAY)->MoveWindow( rcBtnPlayBack );
- ////////////////
- CRect rcSta4;
- GetDlgItem(IDC_STATIC4)->GetWindowRect( rcSta4 );
- W = rcSta4.Width();
- H = rcSta4.Height();
- rcSta4.right = rcSta2.right;
- rcSta4.left = rcSta2.left ;
- rcSta4.top = rcSta17.bottom+20;
- rcSta4.bottom = rcSta4.top+H;
- GetDlgItem(IDC_STATIC4)->MoveWindow( rcSta4 );
- CRect rcBtnUp;
- GetDlgItem(IDC_BUTTONUP)->GetWindowRect( rcBtnUp );
- W = rcBtnUp.Width();
- H = rcBtnUp.Height();
- rcBtnUp.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcBtnUp.right = rcBtnUp.left+W;
- rcBtnUp.top = rcSta4.top+15;
- rcBtnUp.bottom = rcBtnUp.top+H;
- GetDlgItem(IDC_BUTTONUP)->MoveWindow( rcBtnUp );
- CRect rcSta5;
- GetDlgItem(IDC_STATIC5)->GetWindowRect( rcSta5 );
- W = rcSta5.Width();
- H = rcSta5.Height();
- rcSta5.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcSta5.right = rcBtnUp.left+W;
- rcSta5.top = rcBtnUp.bottom+5;
- rcSta5.bottom = rcSta5.top+H;
- GetDlgItem(IDC_STATIC5)->MoveWindow( rcSta5 );
- CRect rcBtnDown;
- GetDlgItem(IDC_BUTTONDOWN)->GetWindowRect( rcBtnDown );
- W = rcBtnDown.Width();
- H = rcBtnDown.Height();
- rcBtnDown.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcBtnDown.right = rcBtnDown.left+W;
- rcBtnDown.top = rcSta5.bottom+5;
- rcBtnDown.bottom = rcBtnDown.top+H;
- GetDlgItem(IDC_BUTTONDOWN)->MoveWindow( rcBtnDown );
- CRect rcBtnLeft;
- GetDlgItem(IDC_BUTTONLEFT)->GetWindowRect( rcBtnLeft );
- W = rcBtnLeft.Width();
- H = rcBtnLeft.Height();
- rcBtnLeft.right = rcSta5.left-10;
- rcBtnLeft.left = rcBtnLeft.right-W;
- rcBtnLeft.top = rcSta5.top+0;
- rcBtnLeft.bottom = rcBtnLeft.top+H;
- GetDlgItem(IDC_BUTTONLEFT)->MoveWindow( rcBtnLeft );
- CRect rcBtnRight;
- GetDlgItem(IDC_BUTTONRIGHT)->GetWindowRect( rcBtnRight );
- W = rcBtnRight.Width();
- H = rcBtnRight.Height();
- rcBtnRight.left = rcSta5.right+10;
- rcBtnRight.right = rcBtnRight.left+W;
- rcBtnRight.top = rcSta5.top+0;
- rcBtnRight.bottom = rcBtnLeft.top+H;
- GetDlgItem(IDC_BUTTONRIGHT)->MoveWindow( rcBtnRight );
- CRect rcSta6;
- GetDlgItem(IDC_STATIC6)->GetWindowRect( rcSta6 );
- W = rcSta6.Width();
- H = rcSta6.Height();
- rcSta6.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcSta6.right = rcSta6.left+W;
- rcSta6.top = rcBtnDown.bottom+20;
- rcSta6.bottom = rcSta6.top+H;
- GetDlgItem(IDC_STATIC6)->MoveWindow( rcSta6 );
- CRect rcBtnJLLeft;
- GetDlgItem(IDC_BUTTONTJLEFT)->GetWindowRect( rcBtnJLLeft );
- W = rcBtnJLLeft.Width();
- H = rcBtnJLLeft.Height();
- rcBtnJLLeft.right = rcSta6.left-10;
- rcBtnJLLeft.left = rcBtnJLLeft.right-W;
- rcBtnJLLeft.top = rcSta6.top;
- rcBtnJLLeft.bottom = rcBtnJLLeft.top+H;
- GetDlgItem(IDC_BUTTONTJLEFT)->MoveWindow( rcBtnJLLeft );
- CRect rcBtnJLRight;
- GetDlgItem(IDC_BUTTONTJRIGHT)->GetWindowRect( rcBtnJLRight );
- W = rcBtnJLRight.Width();
- H = rcBtnJLRight.Height();
- rcBtnJLRight.left = rcSta6.right+10;
- rcBtnJLRight.right = rcBtnJLRight.left+W;
- rcBtnJLRight.top = rcSta6.top;
- rcBtnJLRight.bottom = rcBtnJLRight.top+H;
- GetDlgItem(IDC_BUTTONTJRIGHT)->MoveWindow( rcBtnJLRight );
- CRect rcSta7;
- GetDlgItem(IDC_STATIC7)->GetWindowRect( rcSta7 );
- W = rcSta7.Width();
- H = rcSta7.Height();
- rcSta7.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcSta7.right = rcSta7.left+W;
- rcSta7.top = rcSta6.bottom+10;
- rcSta7.bottom = rcSta7.top+H;
- GetDlgItem(IDC_STATIC7)->MoveWindow( rcSta7 );
- CRect rcBtnOJJLeft;
- GetDlgItem(IDC_BUTTONJJLEFT)->GetWindowRect( rcBtnOJJLeft );
- W = rcBtnOJJLeft.Width();
- H = rcBtnOJJLeft.Height();
- rcBtnOJJLeft.right = rcSta7.left-10;
- rcBtnOJJLeft.left = rcBtnOJJLeft.right-W;
- rcBtnOJJLeft.top = rcSta7.top;
- rcBtnOJJLeft.bottom = rcBtnOJJLeft.top+H;
- GetDlgItem(IDC_BUTTONJJLEFT)->MoveWindow( rcBtnOJJLeft );
- CRect rcBtnJJRight;
- GetDlgItem(IDC_BUTTONJJRIGHT)->GetWindowRect( rcBtnJJRight );
- W = rcBtnJJRight.Width();
- H = rcBtnJJRight.Height();
- rcBtnJJRight.left = rcSta7.right+10;
- rcBtnJJRight.right = rcBtnJJRight.left+W;
- rcBtnJJRight.top = rcSta7.top;
- rcBtnJJRight.bottom = rcBtnJJRight.top+H;
- GetDlgItem(IDC_BUTTONJJRIGHT)->MoveWindow( rcBtnJJRight );
- CRect rcSta8;
- GetDlgItem(IDC_STATIC8)->GetWindowRect( rcSta8 );
- W = rcSta8.Width();
- H = rcSta8.Height();
- rcSta8.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcSta8.right = rcSta8.left+W;
- rcSta8.top = rcSta7.bottom+10;
- rcSta8.bottom = rcSta8.top+H;
- GetDlgItem(IDC_STATIC8)->MoveWindow( rcSta8 );
- CRect rcBtnOGQLeft;
- GetDlgItem(IDC_BUTTONGQLEFT)->GetWindowRect( rcBtnOGQLeft );
- W = rcBtnOGQLeft.Width();
- H = rcBtnOGQLeft.Height();
- rcBtnOGQLeft.right = rcSta8.left-10;
- rcBtnOGQLeft.left = rcBtnOGQLeft.right-W;
- rcBtnOGQLeft.top = rcSta8.top;
- rcBtnOGQLeft.bottom = rcBtnOGQLeft.top+H;
- GetDlgItem(IDC_BUTTONGQLEFT)->MoveWindow( rcBtnOGQLeft );
- CRect rcBtnGQRight;
- GetDlgItem(IDC_BUTTONGQRIGHT)->GetWindowRect( rcBtnGQRight );
- W = rcBtnGQRight.Width();
- H = rcBtnGQRight.Height();
- rcBtnGQRight.left = rcSta8.right+10;
- rcBtnGQRight.right = rcBtnGQRight.left+W;
- rcBtnGQRight.top = rcSta8.top;
- rcBtnGQRight.bottom = rcBtnGQRight.top+H;
- GetDlgItem(IDC_BUTTONGQRIGHT)->MoveWindow( rcBtnGQRight );
- CRect rcEditYZD;
- GetDlgItem(IDC_YZD)->GetWindowRect( rcEditYZD );
- W = rcEditYZD.Width();
- H = rcEditYZD.Height();
- rcEditYZD.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcEditYZD.right = rcEditYZD.left+W;
- rcEditYZD.top = rcBtnGQRight.bottom+20;
- rcEditYZD.bottom = rcEditYZD.top+H;
- GetDlgItem(IDC_YZD)->MoveWindow( rcEditYZD );
- CRect rcBtnYZW;
- GetDlgItem(IDC_BUTTONYZW)->GetWindowRect( rcBtnYZW );
- W = rcBtnYZW.Width();
- H = rcBtnYZW.Height();
- rcBtnYZW.left = rcSta4.left+rcSta4.Width()/2-W/2 ;
- rcBtnYZW.right = rcBtnYZW.left+W;
- rcBtnYZW.top = rcEditYZD.bottom+3;
- rcBtnYZW.bottom = rcBtnYZW.top+H;
- GetDlgItem(IDC_BUTTONYZW)->MoveWindow( rcBtnYZW );
- CRect rcStaShow;
- rcStaShow.left = 10;
- rcStaShow.right = rcSta2.left-5;;
- rcStaShow.top = 0;
- rcStaShow.bottom = rMain.bottom-0;
- GetDlgItem(IDC_VEDIO_SHOW)->MoveWindow( rcStaShow );
- }
- void CNewclientDlg::SetAlarm()
- {
- int imageindex,selectindex;
- int ipnum;
- CString sTemp;
- int nIndex=0;
-
- for(int i = 0; i < MAXIPNUMBER; i++)
- {
- if(m_Serverinfo[i].m_iServerChannelNumber >= 0)
- {
- //是否有信号
- NET_DVR_WORKSTATE WorkState;
- if(!NET_DVR_GetDVRWorkState(m_Serverinfo[i].m_lServerID, &WorkState))
- {
- //CString sTemp;
- //sTemp.Format("ERROR: NET_DVR_GetDVRWorkState = %d \n", NET_DVR_GetLastError());
- //TRACE(sTemp);
- //AfxMessageBox("获取设备状态失败!");
- //return;
- }
- for(int k=0; k<m_Serverinfo[i].m_iServerChannelNumber; k++)
- {
- nIndex = g_FunGetRecordIndex( m_Serverinfo[i].m_csServerIP,k );
- if( nIndex==-1 )//不存在
- {
- if(WorkState.struChanStatic[k].bySignalStatic == 0)
- {
- memcpy( g_RecordInfo[g_nRecordIndex].sDvsName,m_Serverinfo[i].m_csServerIP,m_Serverinfo[i].m_csServerIP.GetLength() );
- g_RecordInfo[g_nRecordIndex].nDvrChannel = k;
- g_RecordInfo[g_nRecordIndex].bHaveSignal = true;
- g_nRecordIndex++;
- }
- else if(WorkState.struChanStatic[k].bySignalStatic == 1)
- {
- memcpy( g_RecordInfo[g_nRecordIndex].sDvsName,m_Serverinfo[i].m_csServerIP,m_Serverinfo[i].m_csServerIP.GetLength() );
- g_RecordInfo[g_nRecordIndex].nDvrChannel = k;
- g_RecordInfo[g_nRecordIndex].bHaveSignal = false;
- g_nRecordIndex++;
- }
- }
- else//存在
- {
- if(WorkState.struChanStatic[k].bySignalStatic == 0)
- {
- g_RecordInfo[nIndex].bHaveSignal = true;
- }
- else if(WorkState.struChanStatic[k].bySignalStatic == 1)
- {
- g_RecordInfo[nIndex].bHaveSignal = false;
- }
- }
- }
- //布防
- if(m_ClientParam.m_iAlarmHandle[i] == -1)
- {
- m_ClientParam.m_iAlarmHandle[i] = NET_DVR_SetupAlarmChan(m_Serverinfo[i].m_lServerID);
- if(m_ClientParam.m_iAlarmHandle[i] == -1)
- {
- sTemp.Format("%s报警设防失败 lasterror = %d!",m_Serverinfo[i].m_csServerName, NET_DVR_GetLastError());
- MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
- }
- }
- }
- }
- //while(node1!=NULL)
- //{
- // m_tree.GetItemImage(node1,imageindex,selectindex);
- // ipnum=m_tree.GetItemData(node1);
- //
- // if(imageindex==1)
- // {
- // if(m_ClientParam.m_iAlarmHandle[ipnum] == -1)
- // {
- // m_ClientParam.m_iAlarmHandle[ipnum] = NET_DVR_SetupAlarmChan(m_Serverinfo[ipnum].m_lServerID);
- // if(m_ClientParam.m_iAlarmHandle[ipnum] == -1)
- // {
- // m_tree.SetItemImage(node1,0,0);
- // sTemp.Format("%s报警设防失败 lasterror = %d!",m_Serverinfo[ipnum].m_csServerName, NET_DVR_GetLastError());
- // AfxMessageBox(sTemp);
- // }
- // }
- // }
- // else
- // {
- // if(m_ClientParam.m_iAlarmHandle[ipnum] >= 0)
- // {
- // if(NET_DVR_CloseAlarmChan(m_ClientParam.m_iAlarmHandle[ipnum]))
- // {
- // m_ClientParam.m_iAlarmHandle[ipnum] = -1;
- // }
- // else
- // {
- // m_tree.SetItemImage(node1,1,1);
- // sTemp.Format("%s报警撤防失败! lasterror = %d ",m_Serverinfo[ipnum].m_csServerName, NET_DVR_GetLastError());
- // AfxMessageBox(sTemp);
- // }
- // }
- // }
- // node1=m_tree.GetNextSiblingItem(node1);
- //}
- //m_bOK = TRUE;
- //AfxMessageBox("布防撤防完成!");
- }
- void CNewclientDlg::OnSysCommand(UINT nID, LPARAM lParam)
- {
- //if ((nID & 0xFFF0) == IDM_ABOUTBOX)
- //{
- // CAboutDlg dlgAbout;
- // dlgAbout.DoModal();
- //}
- //else
- {
- CDialog::OnSysCommand(nID, lParam);
- }
- }
- // If you add a minimize button to your dialog, you will need the code below
- // to draw the icon. For MFC applications using the document/view model,
- // this is automatically done for you by the framework.
- void CNewclientDlg::OnPaint()
- {
- if (IsIconic())
- {
- CPaintDC dc(this); // device context for painting
- SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
- // Center icon in client rectangle
- int cxIcon = GetSystemMetrics(SM_CXICON);
- int cyIcon = GetSystemMetrics(SM_CYICON);
- CRect rect;
- GetClientRect(&rect);
- int x = (rect.Width() - cxIcon + 1) / 2;
- int y = (rect.Height() - cyIcon + 1) / 2;
- // Draw the icon
- dc.DrawIcon(x, y, m_hIcon);
- }
- else
- {
- CDialog::OnPaint();
- ShowGrid();
- }
- }
- // The system calls this to obtain the cursor to display while the user drags
- // the minimized window.
- HCURSOR CNewclientDlg::OnQueryDragIcon()
- {
- return (HCURSOR) m_hIcon;
- }
- void CNewclientDlg::OnExit()
- {
- // TODO: Add your control notification handler code here
- if(IDOK != MessageBox("确定要退出吗?","警告",IDOK))
- return;
- Resoure();
- CDialog::OnCancel();
- }
- void CNewclientDlg::Resoure()
- {
- int i = 0;
- F_StopPlay();
- if(m_lVoiceIndex != -1)
- {
- if(NET_DVR_StopVoiceCom(m_lVoiceIndex))
- {
- GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("语音对讲");
- m_lVoiceIndex = -1;
- }
- else
- {
- MessageBox("停止语音对讲失败!", "温馨提示", MB_ICONINFORMATION);
-
- }
- }
- if(cycletimer)
- {
- KillTimer(CYCLE_TIMER);
- cycletimer = 0;
- }
- if(freespacetimer)
- {
- KillTimer(FREESPACE_TIMER);
- freespacetimer = 0;
- }
- if(fileintervaltimer)
- {
- KillTimer(FILEINTERVAL_TIMER);
- fileintervaltimer = 0;
- }
- if(checkservertimer)
- {
- // TRACE("关闭校时时钟");
- KillTimer(CHECKSERVER_TIMER);
- checkservertimer = 0;
- }
- if(hVideoBeeper)
- SetEvent(hVideoBeeper);
- if(m_ClientParam.m_bUseCard)
- {
- NET_DVR_ReleaseDevice_Card();
- NET_DVR_ReleaseDDraw_Card();
- }
-
- NET_DVR_StopListen();
- for(i=0; i<MAXIPNUMBER; i++)
- {
- if(m_Serverinfo[i].m_iServerChannelNumber >= 0)
- {
- if(m_Serverinfo[i].m_lServerID != -1)
- {
- if(m_ClientParam.m_iAlarmHandle[i] >= 0)
- {
- if(NET_DVR_CloseAlarmChan(m_ClientParam.m_iAlarmHandle[i]))
- {
- m_ClientParam.m_iAlarmHandle[i] = -1;
- }
- }
- if(!NET_DVR_Logout(m_Serverinfo[i].m_lServerID))
- {
- CString sTemp;
- sTemp.Format("ERROR: %s NET_DVR_Logout = %d",m_Serverinfo[i].m_csServerIP, NET_DVR_GetLastError());
- TRACE(sTemp);
- }
- }
- }
- }
- DBConnectionThreadEnd();
- }
- void CNewclientDlg::ArrayWindow(WORD iPos, WORD iNumber)
- {
- int i = 0;
- CRect crect;
- GetClientRect(&crect);
- WORD iWidth,iHeight;
- NET_DVR_DISPLAY_PARA displaypara;
- CRect rc;
- GetDlgItem(IDC_VEDIO_SHOW)->GetWindowRect(rc);
- WORD WIDTH = rc.Width();
- WORD HEIGHT = rc.Height();
-
- for (i = 0;i < MAXVIEWNUM;i++)
- {
- m_MyOutput[i].ShowWindow(SW_HIDE);
- }
-
- switch(iNumber)
- {
- case 4:
- if(m_ClientParam.m_bMultiScreen)
- {
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- iWidth = 510;
- iHeight = 383;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = int( (float)WIDTH/2 );
- iHeight = int( (float)HEIGHT/2 );
- iWidth += WIDTH%2;
- iHeight += HEIGHT%2;
- }
- bLargeWnd = FALSE;
- for(i = 0; i < 2; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+i*iWidth+i*1,MYVIEW_TOP,iWidth,iHeight,true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+i*iWidth+i*1;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
-
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 2; i < 4; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-2)*iWidth+(i-2)*1,MYVIEW_TOP+iHeight+2,iWidth,iHeight,true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-2)*iWidth+(i-2)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+iHeight+2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- break;
- case 9:
- if(m_ClientParam.m_bMultiScreen)
- {
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- iWidth = 339;
- iHeight = 254;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = int( (float)WIDTH/3 );
- iHeight = int( (float)HEIGHT/3 );
- int n = 0;
- n = WIDTH%3;
- if( n==2 )
- iWidth += 1;
- n = HEIGHT%3;
- if( n==2 )
- iHeight += 1;
- }
-
- bLargeWnd = FALSE;
- for (i=0;i<3;i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+i*iWidth+i*1,MYVIEW_TOP,iWidth,iHeight,true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+i*iWidth+i*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for (i=3;i<6;i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-3)*iWidth+(i-3)*1,MYVIEW_TOP+iHeight+2,iWidth,iHeight,true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-3)*iWidth+(i-3)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+iHeight+2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for (i=6;i<9;i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-6)*iWidth+(i-6)*1,MYVIEW_TOP+2*iHeight+4,iWidth,iHeight,true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-6)*iWidth+(i-6)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- break;
- case 16:
- if(m_ClientParam.m_bMultiScreen)
- {
- iWidth = 254;
- iHeight = 190;
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = int( (float)WIDTH/4 );
- iHeight = int( (float)HEIGHT/4 );
- int n = 0;
- n = WIDTH%4;
- if( n>=2 )
- iWidth += 1;
- n = HEIGHT%4;
- if( n>=2 )
- iHeight += 1;
- }
- bLargeWnd = FALSE;
- for(i = 0; i < 4; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+i*iWidth+i*1, MYVIEW_TOP, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+i*iWidth+i*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 4; i < 8; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-4)*iWidth+(i-4)*1, MYVIEW_TOP+iHeight+2, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-4)*iWidth+(i-4)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+iHeight+2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 8; i < 12; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-8)*iWidth+(i-8)*1, MYVIEW_TOP+iHeight*2+4, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-8)*iWidth+(i-8)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 12; i < 16; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-12)*iWidth+(i-12)*1, MYVIEW_TOP+iHeight*3+6, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-12)*iWidth+(i-12)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*3;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- break;
- case 33:
- if(m_ClientParam.m_bMultiScreen)
- {
- iWidth = 254;
- iHeight = 190;
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = int( (float)WIDTH/6 );
- iHeight = int( (float)HEIGHT/6 );
- int n = 0;
- n = WIDTH%6;
- if( n>=4 )
- iWidth += 1;
- n = HEIGHT%6;
- if( n>=4 )
- iHeight += 1;
- }
- bLargeWnd = FALSE;
- for(i = 0; i < 1; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+i*iWidth+i*1, MYVIEW_TOP, 2*iWidth, 2*iHeight+2, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+i*iWidth+i*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth*2;
- m_MyOutput[i].m_display_para.nHeight = iHeight*2+2;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 1; i < 5; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i+1)*iWidth+i*1, MYVIEW_TOP, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i+1)*iWidth+i*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 5; i < 9; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-3)*iWidth+(i-3)*1, MYVIEW_TOP+iHeight+2, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-3)*iWidth+(i-3)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+iHeight+2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 9; i < 15; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-9)*iWidth+(i-9)*1, MYVIEW_TOP+iHeight*2+4, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-9)*iWidth+(i-9)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 15; i < 21; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-15)*iWidth+(i-15)*1, MYVIEW_TOP+iHeight*3+6, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-15)*iWidth+(i-15)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*3;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 21; i < 27; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-21)*iWidth+(i-21)*1, MYVIEW_TOP+iHeight*4+8, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-21)*iWidth+(i-21)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*4;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 27; i < 33; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-27)*iWidth+(i-27)*1, MYVIEW_TOP+iHeight*5+10, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-27)*iWidth+(i-27)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*5;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- break;
- case 64:
- if(m_ClientParam.m_bMultiScreen)
- {
- iWidth = 254;
- iHeight = 190;
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = int( (float)WIDTH/8 );
- iHeight = int( (float)HEIGHT/8 );
- int n = 0;
- n = WIDTH%8;
- if( n>=4 )
- iWidth += 1;
- n = HEIGHT%8;
- if( n>=4 )
- iHeight += 1;
- }
- bLargeWnd = FALSE;
- for(i = 0; i < 8; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+i*iWidth+i*1, MYVIEW_TOP, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+i*iWidth+i*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 8; i < 16; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-8)*iWidth+(i-8)*1, MYVIEW_TOP+iHeight+2, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-8)*iWidth+(i-8)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+iHeight+2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 16; i < 24; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-16)*iWidth+(i-16)*1, MYVIEW_TOP+iHeight*2+4, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-16)*iWidth+(i-16)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*2;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 24; i < 32; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-24)*iWidth+(i-24)*1, MYVIEW_TOP+iHeight*3+6, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-24)*iWidth+(i-24)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*3;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 32; i < 40; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-32)*iWidth+(i-32)*1, MYVIEW_TOP+iHeight*4+8, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-32)*iWidth+(i-32)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*4;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 40; i < 48; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-40)*iWidth+(i-40)*1, MYVIEW_TOP+iHeight*5+10, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-40)*iWidth+(i-40)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*5;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 48; i < 56; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-48)*iWidth+(i-48)*1, MYVIEW_TOP+iHeight*6+12, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-48)*iWidth+(i-48)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*6;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- for(i = 56; i < 64; i++)
- {
- m_MyOutput[i].MoveWindow(MYVIEW_LEFT+(i-56)*iWidth+(i-56)*1, MYVIEW_TOP+iHeight*7+14, iWidth, iHeight, true);
- m_MyOutput[i].m_display_para.nLeft = MYVIEW_LEFT+(i-56)*iWidth+(i-56)*1/*-2*/;
- m_MyOutput[i].m_display_para.nTop = MYVIEW_TOP+(iHeight+2)*7;
- m_MyOutput[i].m_display_para.nWidth = iWidth/*+2*/;
- m_MyOutput[i].m_display_para.nHeight = iHeight;
- m_MyOutput[i].ShowWindow(SW_SHOW);
- }
- break;
- case 1:
- if(m_ClientParam.m_bMultiScreen)
- {
- iWidth = 1024;
- iHeight = 768;
- MYVIEW_LEFT = 0;
- MYVIEW_TOP = 0;
- }
- else
- {
- MYVIEW_LEFT = LEFT_DISTANCE;
- MYVIEW_TOP = TOP_DISTANCE;
- iWidth = WIDTH;
- iHeight = HEIGHT;
- }
-
- m_MyOutput[iPos].MoveWindow(MYVIEW_LEFT,MYVIEW_TOP,iWidth,iHeight,true);
- m_MyOutput[iPos].m_display_para.nLeft = MYVIEW_LEFT;
- m_MyOutput[iPos].m_display_para.nTop = MYVIEW_TOP;
- m_MyOutput[iPos].m_display_para.nWidth = iWidth;
- m_MyOutput[iPos].m_display_para.nHeight = iHeight;
- m_MyOutput[iPos].ShowWindow(SW_SHOW);
- break;
- default:
- break;
- }
- if(m_ClientParam.m_bUseCard)
- {
- TRACE("Use Decode Card");
- TRACE("iNumber = %d", iNumber);
- NET_DVR_ClearSurface_Card();
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- displaypara.bToScreen = 0;
- displaypara.bToVideoOut = 1;
- displaypara.nLeft = m_MyOutput[i].m_display_para.nLeft;
- displaypara.nTop = m_MyOutput[i].m_display_para.nTop;
- displaypara.nWidth = m_MyOutput[i].m_display_para.nWidth;
- displaypara.nHeight = m_MyOutput[i].m_display_para.nHeight;
- NET_DVR_ResetPara_Card(m_MyOutput[i].m_iPlayhandle,&displaypara);
- }
- if(iNumber == 1)
- {//放大
- displaypara.bToScreen = 1;
- displaypara.bToVideoOut = 1;
- displaypara.nLeft = m_MyOutput[iPos].m_display_para.nLeft;
- displaypara.nTop = m_MyOutput[iPos].m_display_para.nTop;
- displaypara.nWidth = m_MyOutput[iPos].m_display_para.nWidth;
- displaypara.nHeight = m_MyOutput[iPos].m_display_para.nHeight;
- NET_DVR_ResetPara_Card(m_MyOutput[iPos].m_iPlayhandle,&displaypara);
- }
- else
- {//缩小
- for(i = 0; i < iNumber; i++)
- {
- displaypara.bToScreen = 1;
- displaypara.bToVideoOut = 1;
- displaypara.nLeft = m_MyOutput[i].m_display_para.nLeft;
- displaypara.nTop = m_MyOutput[i].m_display_para.nTop;
- displaypara.nWidth = m_MyOutput[i].m_display_para.nWidth;
- displaypara.nHeight = m_MyOutput[i].m_display_para.nHeight;
- NET_DVR_ResetPara_Card(m_MyOutput[i].m_iPlayhandle,&displaypara);
- }
- }
- }
- }
- void CNewclientDlg::MoveCurWin(int iWindowNum,int iCurWinPos)
- {
- //CNewclientDlg* mainwnd =(CNewclientDlg*) AfxGetMainWnd();
- CRect rc;
- GetDlgItem(IDC_VEDIO_SHOW)->GetWindowRect(rc);
- WORD WIDTH = rc.Width();
- WORD HEIGHT = rc.Height();
- int rectWidth = 0;
- int rectHeight = 0;
- int rectTop = 0;
- int rectLeft = 0;
- switch(iWindowNum)
- {
- case 1:
- rectWidth = 706*W_RATIO;
- rectHeight = 578*H_RATIO;
- rectTop = WIDTH;
- rectLeft = HEIGHT;
- break;
- case 4:
- rectWidth = int( (float)WIDTH/2 );
- rectHeight = int( (float)HEIGHT/2 );
- switch(iCurWinPos)
- {
- case 0:
- case 1:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+iCurWinPos*rectWidth+iCurWinPos*1;
- break;
- case 2:
- case 3:
- rectTop = MYVIEW_TOP+rectHeight+2;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-2)*rectWidth+(iCurWinPos-2)*1;
- break;
- default:
- break;
- }
- break;
- case 9:
- rectWidth = int( (float)WIDTH/3 );
- rectHeight = int( (float)HEIGHT/3 );
- switch(iCurWinPos)
- {
- case 0:
- case 1:
- case 2:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+iCurWinPos*rectWidth+iCurWinPos*1;
- break;
- case 3:
- case 4:
- case 5:
- rectTop = MYVIEW_TOP+rectHeight + 2;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-3)*rectWidth+(iCurWinPos-3)*1;
- break;
- case 6:
- case 7:
- case 8:
- rectTop = MYVIEW_TOP+2*rectHeight+4;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-6)*rectWidth+(iCurWinPos-6)*1;
- break;
- default:
- break;
- }
- break;
- case 16:
- rectWidth = int( (float)WIDTH/4 );
- rectHeight = int( (float)HEIGHT/4 );
- switch(iCurWinPos)
- {
- case 0:
- case 1:
- case 2:
- case 3:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+iCurWinPos*rectWidth+iCurWinPos*1;
- break;
- case 4:
- case 5:
- case 6:
- case 7:
- rectTop = MYVIEW_TOP+rectHeight+2;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-4)*rectWidth+(iCurWinPos-4)*1;
- break;
- case 8:
- case 9:
- case 10:
- case 11:
- rectTop = MYVIEW_TOP+2*rectHeight+4;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-8)*rectWidth+(iCurWinPos-8)*1;
- break;
- case 12:
- case 13:
- case 14:
- case 15:
- rectTop = MYVIEW_TOP+3*rectHeight+6;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-12)*rectWidth+(iCurWinPos-12)*1;
- break;
- default:
- break;
- }
- break;
- case 33:
- rectWidth = int( (float)WIDTH/6 );
- rectHeight = int( (float)HEIGHT/6 );
- switch(iCurWinPos)
- {
- case 0:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+iCurWinPos*rectWidth+iCurWinPos*1;
- rectWidth = rectWidth*2;
- rectHeight = rectHeight*2+2;
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+(iCurWinPos+1)*rectWidth+(iCurWinPos+1)*1;
- break;
- case 5:
- case 6:
- case 7:
- case 8:
- rectTop = MYVIEW_TOP+rectHeight+2;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-3)*rectWidth+(iCurWinPos-3)*1;
- break;
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- rectTop = MYVIEW_TOP+2*rectHeight+4;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-9)*rectWidth+(iCurWinPos-9)*1;
- break;
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- rectTop = MYVIEW_TOP+3*rectHeight+6;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-15)*rectWidth+(iCurWinPos-15)*1;
- break;
- case 21:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- rectTop = MYVIEW_TOP+4*rectHeight+8;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-21)*rectWidth+(iCurWinPos-21)*1;
- break;
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- case 32:
- rectTop = MYVIEW_TOP+5*rectHeight+10;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-27)*rectWidth+(iCurWinPos-27)*1;
- break;
- default:
- break;
- }
- break;
- case 64:
- rectWidth = int( (float)WIDTH/8 );
- rectHeight = int( (float)HEIGHT/8 );
- switch(iCurWinPos)
- {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- rectTop = MYVIEW_TOP;
- rectLeft = MYVIEW_LEFT+iCurWinPos*rectWidth+iCurWinPos*1;
- break;
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- rectTop = MYVIEW_TOP+1*rectHeight+2;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-8)*rectWidth+(iCurWinPos-8)*1;
- break;
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- rectTop = MYVIEW_TOP+2*rectHeight+4;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-16)*rectWidth+(iCurWinPos-16)*1;
- break;
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- rectTop = MYVIEW_TOP+3*rectHeight+6;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-24)*rectWidth+(iCurWinPos-24)*1;
- break;
- case 32:
- case 33:
- case 34:
- case 35:
- case 36:
- case 37:
- case 38:
- case 39:
- rectTop = MYVIEW_TOP+4*rectHeight+8;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-32)*rectWidth+(iCurWinPos-32)*1;
- break;
- case 40:
- case 41:
- case 42:
- case 43:
- case 44:
- case 45:
- case 46:
- case 47:
- rectTop = MYVIEW_TOP+5*rectHeight+10;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-40)*rectWidth+(iCurWinPos-40)*1;
- break;
- case 48:
- case 49:
- case 50:
- case 51:
- case 52:
- case 53:
- case 54:
- case 55:
- rectTop = MYVIEW_TOP+6*rectHeight+12;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-48)*rectWidth+(iCurWinPos-48)*1;
- break;
- case 56:
- case 57:
- case 58:
- case 59:
- case 60:
- case 61:
- case 62:
- case 63:
- rectTop = MYVIEW_TOP+7*rectHeight+14;
- rectLeft = MYVIEW_LEFT+(iCurWinPos-56)*rectWidth+(iCurWinPos-56)*1;
- break;
- default:
- break;
- }
- break;
- default:
- break;
- }
- m_Mycurwin.m_black.ShowWindow(SW_HIDE);
- m_Mycurwin.MoveWindow(rectLeft-1,rectTop-1,rectWidth+2,rectHeight+2);
- m_Mycurwin.m_black.ShowWindow(SW_SHOW);
- m_Mycurwin.EnableWindow(FALSE);
- }
- void CNewclientDlg::InitLed()
- {
- int i;
- m_pCapLed[0] = &m_CapLed1;
- m_pCapLed[1] = &m_CapLed2;
- m_pCapLed[2] = &m_CapLed3;
- m_pCapLed[3] = &m_CapLed4;
- m_pCapLed[4] = &m_CapLed5;
- m_pCapLed[5] = &m_CapLed6;
- m_pCapLed[6] = &m_CapLed7;
- m_pCapLed[7] = &m_CapLed8;
- m_pCapLed[8] = &m_CapLed9;
- m_pCapLed[9] = &m_CapLed10;
- m_pCapLed[10] = &m_CapLed11;
- m_pCapLed[11] = &m_CapLed12;
- m_pCapLed[12] = &m_CapLed13;
- m_pCapLed[13] = &m_CapLed14;
- m_pCapLed[14] = &m_CapLed15;
- m_pCapLed[15] = &m_CapLed16;
- //for(i = 0; i < MAXVIEWNUM; i++)
- {
- //m_pCapLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
- }
- m_pAlarmLed[0] = &m_AlarmLed1;
- m_pAlarmLed[1] = &m_AlarmLed2;
- m_pAlarmLed[2] = &m_AlarmLed3;
- m_pAlarmLed[3] = &m_AlarmLed4;
- m_pAlarmLed[4] = &m_AlarmLed5;
- m_pAlarmLed[5] = &m_AlarmLed6;
- m_pAlarmLed[6] = &m_AlarmLed7;
- m_pAlarmLed[7] = &m_AlarmLed8;
- m_pAlarmLed[8] = &m_AlarmLed9;
- m_pAlarmLed[9] = &m_AlarmLed10;
- m_pAlarmLed[10] = &m_AlarmLed11;
- m_pAlarmLed[11] = &m_AlarmLed12;
- m_pAlarmLed[12] = &m_AlarmLed13;
- m_pAlarmLed[13] = &m_AlarmLed14;
- m_pAlarmLed[14] = &m_AlarmLed15;
- m_pAlarmLed[15] = &m_AlarmLed16;
-
- //for(i = 0; i < MAXVIEWNUM; i++)
- {
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
- }
- }
- void CNewclientDlg::F_InitDecodeCard()
- {
- int nDispNum = 0;
-
- TRACE("初始化解码卡");
- int iRet = NET_DVR_InitDDraw_Card(this->m_hWnd,0xff0000);
-
- iRet=NET_DVR_InitDevice_Card(&channelcount);
-
- TRACE("ChannelCount = %d", channelcount);
- if(channelcount <= 0)
- {
- MessageBox("请插入解码卡!", "温馨提示", MB_ICONINFORMATION);
-
- return;
- }
- else if(channelcount > 16)
- {
- channelcount = 16;
- }
-
- if(m_ClientParam.m_bNTSC)
- {
- nDispNum = GetDisplayChannelCount();
- if (nDispNum >= 2)
- {
- REGION_PARAM param[MAX_DISPLAY_REGION];
- int i;
- memset(param, 0, sizeof(param));
- for (i=0; i<MAX_DISPLAY_REGION; i++)
- param[i].color = RGB(i, i*8, i*16);
- for (i=0; i<nDispNum/2; i++)
- {
- SetDisplayStandard(2*i,StandardNTSC);
- param[0].left=0; param[0].top=0; param[0].width=352; param[0].height=240;
- param[1].left=352; param[1].top=0; param[1].width=352; param[1].height=240;
- param[2].left=0; param[2].top=240; param[2].width=352; param[2].height=240;
- param[3].left=352; param[3].top=240; param[3].width=352; param[3].height=240;
- if (SetDisplayRegion(2*i, 4, param, 0) != HWERR_SUCCESS)
- {
- TRACE("SetDisplayRegion failed!");
- }
- SetDecoderVideoExtOutput(4*i, 0, 1, 2*i, 0, 0);
- SetDecoderVideoExtOutput(4*i+1, 0, 1, 2*i, 1, 0);
- SetDecoderVideoExtOutput(4*i+2, 0, 1, 2*i, 2, 0);
- SetDecoderVideoExtOutput(4*i+3, 0, 1, 2*i, 3, 0);
-
- SetDisplayStandard(2*i+1,StandardNTSC);
- param[0].left=0; param[0].top=0; param[0].width=704; param[0].height=480;
- if (SetDisplayRegion(2*i+1, 1, param, 0) != HWERR_SUCCESS)
- {
- TRACE("SetDisplayRegion failed!");
- }
-
- SetDecoderVideoExtOutput(4*i, 1, 1, 2*i+1, 0, 0);
- }
- }
- }
- else
- {
- nDispNum = GetDisplayChannelCount();
- if (nDispNum >= 2)
- {
- REGION_PARAM param[MAX_DISPLAY_REGION];
- int i;
- memset(param, 0, sizeof(param));
- for (i=0; i<MAX_DISPLAY_REGION; i++)
- param[i].color = RGB(i, i*8, i*16);
- for (i=0; i<nDispNum/2; i++)
- {
- SetDisplayStandard(2*i,StandardPAL);
- param[0].left=0; param[0].top=0; param[0].width=352; param[0].height=288;
- param[1].left=352; param[1].top=0; param[1].width=352; param[1].height=288;
- param[2].left=0; param[2].top=288; param[2].width=352; param[2].height=288;
- param[3].left=352; param[3].top=288; param[3].width=352; param[3].height=288;
- if (SetDisplayRegion(2*i, 4, param, 0) != HWERR_SUCCESS)
- {
- TRACE("SetDisplayRegion failed!");
- }
- SetDecoderVideoExtOutput(4*i, 0, 1, 2*i, 0, 0);
- SetDecoderVideoExtOutput(4*i+1, 0, 1, 2*i, 1, 0);
- SetDecoderVideoExtOutput(4*i+2, 0, 1, 2*i, 2, 0);
- SetDecoderVideoExtOutput(4*i+3, 0, 1, 2*i, 3, 0);
-
- SetDisplayStandard(2*i+1,StandardPAL);
- param[0].left=0; param[0].top=0; param[0].width=704; param[0].height=576;
- if (SetDisplayRegion(2*i+1, 1, param, 0) != HWERR_SUCCESS)
- {
- TRACE("SetDisplayRegion failed!");
- }
-
- SetDecoderVideoExtOutput(4*i, 1, 1, 2*i+1, 0, 0);
- }
- }
- }
-
- if(channelcount==1)
- {
- WINDOWNUM=1;
- m_windownum.SetCurSel(0);
- }
- else if (channelcount<=4)
- {
- WINDOWNUM=4;
- m_windownum.SetCurSel(1);
- }
- else if(channelcount<=9)
- {
- WINDOWNUM = 9;
- m_windownum.SetCurSel(2);
- }
- else
- {
- m_windownum.SetCurSel(3);
- WINDOWNUM = 16;
- }
-
- }
- void CNewclientDlg::OnAudioexchange()
- {
- // TODO: Add your control notification handler code here
- if(m_lVoiceIndex == -1)
- {
- CVoiceExchange VoiceDlg;
- VoiceDlg.DoModal();
- if(m_lVoiceIndex != -1)
- {
- GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("停止对讲");
- }
- }
- else
- {
- if(NET_DVR_StopVoiceCom(m_lVoiceIndex))
- {
- GetDlgItem(IDC_AUDIOEXCHANGE)->SetWindowText("语音对讲");
- m_lVoiceIndex = -1;
- }
- else
- {
- MessageBox("停止语音对讲失败!", "温馨提示", MB_ICONINFORMATION);
-
- }
- }
- }
- void CNewclientDlg::OnSystemcfg()
- {
- // TODO: Add your control notification handler code here
- CSystemConfig SysCfgDlg;
- g_pNewclientDlg = this;
- SysCfgDlg.DoModal();
- if(nUseCard == 1)
- {
- channelcount = 0;
- F_InitDecodeCard();
- ArrayWindow(0,WINDOWNUM);
- MoveCurWin(WINDOWNUM,0);
- nUseCard = 0;
- }
- if(nUseCard == 2)
- {
- NET_DVR_ReleaseDevice_Card();
- NET_DVR_ReleaseDDraw_Card();
- nUseCard = 0;
- }
- if(m_ClientParam.m_bCheckServerTime)
- {
- if(checkservertimer == 0)
- {
- TRACE("启动硬盘录像机校时时钟,校时时间是每天的%06d", m_ClientParam.m_iCheckServerTime);
- checkservertimer = SetTimer(CHECKSERVER_TIMER, 1000, NULL);
- }
- }
- else
- {
- if(checkservertimer)
- {
- // TRACE("关闭硬盘录像机校时时钟");
- KillTimer(CHECKSERVER_TIMER);
- checkservertimer = 0;
- }
- }
- F_JudgeDiskFull();
- }
- void CNewclientDlg::OnSelchangeCombowndnum()
- {
- // TODO: Add your control notification handler code here
- int i;
- WORD wndnum;
- i = m_windownum.GetCurSel();
- switch(i)
- {
- case 0:
- wndnum = 1;
- break;
- case 1:
- wndnum = 4;
- break;
- case 2:
- wndnum = 9;
- break;
- case 3:
- wndnum = 16;
- break;
- default:
- break;
- }
- if(WINDOWNUM != wndnum)
- {
- WINDOWNUM = wndnum;
- if(m_ClientParam.m_bCycling)
- {
- MessageBox("请停止循环播放!", "温馨提示", MB_ICONINFORMATION);
-
- return;
- }
- if(m_ClientParam.m_bPlaying)
- {
- TRACE("Stop Play");
- F_StopPlay();
- OnVideonetplay();
- }
- ArrayWindow(0, WINDOWNUM);
- MoveCurWin(WINDOWNUM,0);
-
- }
- }
- void CNewclientDlg::F_StopPlay()
- {
- int i;
-
- if(cycletimer)
- {
- KillTimer(CYCLE_TIMER);
- cycletimer = 0;
- }
- if(!m_ClientParam.m_bUseCard)
- {
- if(!g_bShareSound)
- NET_DVR_CloseSound();
- }
-
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if(m_MyOutput[i].m_bFileSave)
- F_StopClientRecord(i);
- if(g_bShareSound)
- NET_DVR_CloseSoundShare(m_MyOutput[i].m_iPlayhandle);
- m_MyOutput[i].StopNet();
- }
- GetDlgItem(IDC_PLAY)->SetWindowText("预览视频");
- numberpos = 0;
- if( (m_ClientParam.m_bEnlarged) || (m_ClientParam.m_bFullScreen) )
- {
- ArrayWindow(0, WINDOWNUM);
- MoveCurWin(WINDOWNUM,0);
- }
-
- m_ClientParam.m_bPlaying = FALSE;
- m_ClientParam.m_bCycling = FALSE;
- m_ClientParam.m_bPaused = FALSE;
- m_ClientParam.m_bNextPage = FALSE;
- m_ClientParam.m_bFrontPage = FALSE;
- //GetDlgItem(IDC_COMBOWNDNUM)->EnableWindow(TRUE);
- }
- void CNewclientDlg::OnVideonetplay()
- {
- // TODO: Add your control notification handler code here
- int itemp,i;
-
- UpdateData(TRUE);
-
- if(m_nSurveillanceNumber == 0)
- return;
- if(m_ClientParam.m_bPlaying)
- {
- TRACE("Stop Play");
- F_StopPlay();
- return;
- }
- #if 0//预览30秒自动停止预览
- SetTimer( 56,1000,NULL );
- m_dwPreviewTime = GetTickCount();
- #endif
- m_ClientParam.m_bPlaying = TRUE;
-
- if(m_nSurveillanceNumber < WINDOWNUM)
- itemp = m_nSurveillanceNumber;
- else
- itemp = WINDOWNUM;
-
- for(i=0;i<itemp;i++)
- {
- if(m_ClientParam.m_bUseCard)
- m_MyOutput[i].StartCard(&m_Selipinfo[i]);
- else
- {
- TRACE("start play %s m_lServerId = %d", m_Selipinfo[i].m_csIP, m_Selipinfo[i].m_lServerID);
- m_MyOutput[i].StartNet(&m_Selipinfo[i]);
- if(g_bShareSound && (m_MyOutput[i].m_iPlayhandle >= 0))
- {
- m_ClientParam.m_bPlaySound[i] = TRUE;
- }
- }
- Sleep(100);
- }
- if(m_nSurveillanceNumber <= WINDOWNUM)
- {
- numberpos = m_nSurveillanceNumber;
- }
- else
- {
- numberpos = WINDOWNUM;
-
- if(m_ClientParam.m_bCyclePlay) //循环播放
- {
- if(cycletimer == 0)
- {
- cycletimer = SetTimer(CYCLE_TIMER,m_ClientParam.m_iCycleTime*1000,NULL);
- }
- m_ClientParam.m_bCycling = TRUE;
- m_bChangePage = TRUE;
- m_ClientParam.m_bPaused = FALSE;
- }
- else
- {
- m_ClientParam.m_bNextPage = TRUE;
- m_ClientParam.m_bFrontPage = FALSE;
- }
- }
- // m_windownum.EnableWindow(FALSE);
- GetDlgItem(IDC_PLAY)->SetWindowText("停止预览");
- UpdateData(FALSE);
- SetAlarm();
- }
- void CNewclientDlg::F_FullScreen()
- {
- GetWindowPlacement(&m_OldWndPlacement);
-
- CRect WindowRect, ClientRect, FullScreenRect;
- int FullWidth, FullHeight;
- GetWindowRect(&WindowRect);
- RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect);
- ClientToScreen(&ClientRect);
- //获取屏幕的分辨率;
- FullWidth = GetSystemMetrics(SM_CXSCREEN);
- FullHeight = GetSystemMetrics(SM_CYSCREEN);
- //将除控制条外的客户区全屏显示到从(0,0)到(nFullWidth, nFullHeight)区域, 将(0,0)和(nFullWidth, nFullHeight)两个点外扩充原窗口和除控制条之外的 客户区位置间的差值, 就得到全屏显示的窗口位置;
- FullScreenRect.left = WindowRect.left-ClientRect.left;
- FullScreenRect.top = WindowRect.top-ClientRect.top;
- FullScreenRect.right = WindowRect.right-ClientRect.right+FullWidth;
- FullScreenRect.bottom = WindowRect.bottom-ClientRect.bottom+FullHeight;
- //进入全屏显示状态 ;
- WINDOWPLACEMENT wndpl;
- wndpl.length = sizeof(WINDOWPLACEMENT);
- wndpl.flags = 0;
- wndpl.showCmd = SW_SHOWNORMAL;
- wndpl.rcNormalPosition = FullScreenRect;
- SetWindowPlacement(&wndpl);
- int i;
- for(i = 0; i < WINDOWNUM; i++)
- m_MyOutput[i].ShowWindow(SW_HIDE);
- F_ShowHide(FALSE);
- m_Mycurwin.ShowWindow(SW_HIDE);
- i = m_nActiveWndNumber;
- if(m_ClientParam.m_bUseCard)
- {
- NET_DVR_DISPLAY_PARA displaypara;
- displaypara.bToVideoOut = 1;
- displaypara.bToScreen = 1;
- displaypara.nLeft = 0;
- displaypara.nTop = 0;
- displaypara.nWidth = 1024;
- displaypara.nHeight = 768;
- NET_DVR_ResetPara_Card(m_MyOutput[i].m_iPlayhandle,&displaypara);
- }
- }
- void CNewclientDlg::F_EndFullScreen()
- {
- SetWindowPlacement(&m_OldWndPlacement);
- F_ShowHide(TRUE);
- m_Mycurwin.ShowWindow(SW_SHOW);
- }
- void CNewclientDlg::F_ShowHide(BOOL bShow)
- {
- if(bShow)
- {
- //云台
- GetDlgItem(IDC_BUTTONUP)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONLEFT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONRIGHT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONDOWN)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONTJLEFT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONTJRIGHT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONJJLEFT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONJJRIGHT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONGQLEFT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONGQRIGHT)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_YZD)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONYZW)->ShowWindow(SW_SHOW);
- //预览
- GetDlgItem(IDC_PLAY)->ShowWindow(SW_SHOW);
- //系统设置
- GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_SHOW);
- //抓图
- GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_SHOW);
- //录像
- GetDlgItem(IDC_RECORD)->ShowWindow(SW_SHOW);
-
- //时间日志
- GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_SHOW);
- ////布防,撤防
- //GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_SHOW);
- ////语音对讲
- //GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_SHOW);
- //回放
- GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_SHOW);
- ////亮度
- //GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_SHOW);
- ////对比度
- //GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_SHOW);
- ////饱和度
- //GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_SHOW);
- ////色度
- //GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_SHOW);
- ////音量
- //GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_SHOW);
- ////恢复默认值
- //GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_SHOW);
- ////退出系统
- //GetDlgItem(IDC_EXIT)->ShowWindow(SW_SHOW);
- //窗口画面数
- //GetDlgItem(IDC_COMBOWNDNUM)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED1)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED2)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED3)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED4)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED5)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED6)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED7)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED8)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED9)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED10)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED11)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED12)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED13)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED14)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED15)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_LED16)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED1)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED2)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED3)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED4)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED5)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED6)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED7)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED8)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED9)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED10)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED11)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED12)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED13)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED14)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED15)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_ALARMLED16)->ShowWindow(SW_SHOW);
- //2006-01-11
- //GetDlgItem(IDC_STATIC0)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC5)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC6)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC7)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC8)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC9)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC10)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC11)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC12)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC13)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC14)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC15)->ShowWindow(SW_SHOW);
- //GetDlgItem(IDC_STATIC16)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_STATIC17)->ShowWindow(SW_SHOW);
- }
- else
- {
- //云台
- GetDlgItem(IDC_BUTTONUP)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONLEFT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONRIGHT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONDOWN)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONTJLEFT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONTJRIGHT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONJJLEFT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONJJRIGHT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONGQLEFT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONGQRIGHT)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_YZD)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTONYZW)->ShowWindow(SW_HIDE);
-
- //预览
- GetDlgItem(IDC_PLAY)->ShowWindow(SW_HIDE);
- //系统设置
- GetDlgItem(IDC_SYSTEMCFG)->ShowWindow(SW_HIDE);
- //抓图
- GetDlgItem(IDC_GETPICTURE)->ShowWindow(SW_HIDE);
- //录像
- GetDlgItem(IDC_RECORD)->ShowWindow(SW_HIDE);
- //时间日志
- GetDlgItem(IDC_EVENTLIST)->ShowWindow(SW_HIDE);
- //布防,撤防
- GetDlgItem(IDC_BUTTONALARMSET)->ShowWindow(SW_HIDE);
- //语音对讲
- GetDlgItem(IDC_AUDIOEXCHANGE)->ShowWindow(SW_HIDE);
- //回放
- GetDlgItem(IDC_VIDEOFILEPLAY)->ShowWindow(SW_HIDE);
- //亮度
- GetDlgItem(IDC_SLIDERLD)->ShowWindow(SW_HIDE);
- //对比度
- GetDlgItem(IDC_SLIDERDBD)->ShowWindow(SW_HIDE);
- //饱和度
- GetDlgItem(IDC_SLIDERBHD)->ShowWindow(SW_HIDE);
- //色度
- GetDlgItem(IDC_SLIDERSD)->ShowWindow(SW_HIDE);
- //音量
- GetDlgItem(IDC_SLIDERYL)->ShowWindow(SW_HIDE);
- //恢复默认值
- GetDlgItem(IDC_BUTTONPOLL)->ShowWindow(SW_HIDE);
- //退出系统
- GetDlgItem(IDC_EXIT)->ShowWindow(SW_HIDE);
- //窗口画面数
- GetDlgItem(IDC_COMBOWNDNUM)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED2)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED3)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED4)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED5)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED6)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED7)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED8)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED9)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED10)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED11)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED12)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED13)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED14)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED15)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_LED16)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED2)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED3)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED4)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED5)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED6)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED7)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED8)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED9)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED10)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED11)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED12)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED13)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED14)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED15)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_ALARMLED16)->ShowWindow(SW_HIDE);
- //2006-01-11
- GetDlgItem(IDC_STATIC0)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC7)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC8)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC9)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC10)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC14)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC15)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC16)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_STATIC17)->ShowWindow(SW_HIDE);
- }
- }
- void CNewclientDlg::F_ShowVideoParams()
- {
- m_ld.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iBrightness);
- m_sd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iHue);
- m_bhd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iSaturation);
- m_dbd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iContrast);
- m_yl.SetPos(m_ClientParam.m_Volume);
- }
- void CNewclientDlg::F_NextPage()
- {
- int itemp,i;
- itemp = numberpos % WINDOWNUM;
- if ((itemp > 0) || (numberpos == m_nSurveillanceNumber))//只有当numberpos是WINDOWNUM的整数倍时才有可能按next
- return;
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) || (m_MyOutput[i].m_bFileSave) )
- F_StopClientRecord(i);
- }
- if( (m_ClientParam.m_bEnlarged) || (m_ClientParam.m_bFullScreen) )
- {
- ArrayWindow(0, WINDOWNUM); //窗口放大状态时,循环到下一画面,恢复原窗口数;
- MoveCurWin(WINDOWNUM,0);
- m_ClientParam.m_bEnlarged = FALSE;
- m_ClientParam.m_bFullScreen = FALSE;
- }
- itemp = m_nSurveillanceNumber - numberpos;
- if(itemp > WINDOWNUM)
- itemp = WINDOWNUM;
- if(!m_ClientParam.m_bUseCard)
- {
- if(!g_bShareSound)
- NET_DVR_CloseSound();
- }
- for(i=0;i<WINDOWNUM;i++)
- {
- if(g_bShareSound)
- NET_DVR_CloseSoundShare(m_MyOutput[i].m_iPlayhandle);
- m_MyOutput[i].StopNet();
- }
- for(i=0;i<itemp;i++)
- {
- if (i+numberpos < MAXNUMBER)
- {
- if(m_ClientParam.m_bUseCard)
- m_MyOutput[i].StartCard(&m_Selipinfo[i+numberpos]);
- else
- {
- m_MyOutput[i].StartNet(&m_Selipinfo[i+numberpos]);
- if(g_bShareSound && (m_MyOutput[i].m_iPlayhandle >= 0))
- {
- m_ClientParam.m_bPlaySound[i] = TRUE;
- }
- }
- Sleep(100);
- }
- }
- itemp = m_nSurveillanceNumber - numberpos;
- if(itemp <= WINDOWNUM)
- {
- numberpos = m_nSurveillanceNumber;
- m_ClientParam.m_bNextPage = FALSE;
- }
- else
- {
- numberpos += WINDOWNUM;
- }
-
- m_ClientParam.m_bFrontPage = TRUE;
- UpdateData(FALSE);
- }
- void CNewclientDlg::F_FrontPage()
- {
- int itemp,i;
- if(numberpos <= WINDOWNUM)
- return;
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) || (m_MyOutput[i].m_bFileSave) )
- F_StopClientRecord(i);
- }
- if( (m_ClientParam.m_bEnlarged) || (m_ClientParam.m_bFullScreen) )
- {
- ArrayWindow(0, WINDOWNUM); //窗口放大状态时,循环到下一画面,恢复原窗口数;
- MoveCurWin(WINDOWNUM,0);
- m_ClientParam.m_bEnlarged = FALSE;
- m_ClientParam.m_bFullScreen = FALSE;
- }
- if(numberpos > WINDOWNUM)
- {
- if(numberpos < 2*WINDOWNUM)
- {
- itemp = 0;
- }
- else
- {
- i = numberpos % WINDOWNUM;
- if (i == 0)
- itemp = numberpos - 2*WINDOWNUM ;
- else
- itemp = numberpos - WINDOWNUM -i;
- }
- if(!m_ClientParam.m_bUseCard)
- {
- if(!g_bShareSound)
- NET_DVR_CloseSound();
- }
- //itemp:确定上一页要播放监控点的起始编号;
- for(i=0;i<WINDOWNUM;i++)
- {
- if(g_bShareSound)
- NET_DVR_CloseSoundShare(m_MyOutput[i].m_iPlayhandle);
- m_MyOutput[i].StopNet();
- }
- for(i=0;i<WINDOWNUM;i++)
- {
- if(itemp+i < MAXNUMBER)
- {
- if(m_ClientParam.m_bUseCard)
- m_MyOutput[i].StartCard(&m_Selipinfo[i+itemp]);
- else
- {
- m_MyOutput[i].StartNet(&m_Selipinfo[i+itemp]);
- if(g_bShareSound && (m_MyOutput[i].m_iPlayhandle >= 0))
- {
- m_ClientParam.m_bPlaySound[i] = TRUE;
- }
- }
- Sleep(100);
- }
- }
- if (numberpos <= 2*WINDOWNUM)
- {
- numberpos = WINDOWNUM;
- m_ClientParam.m_bFrontPage = FALSE; //没有上一页
- }
- else
- {
- i = numberpos % WINDOWNUM;
- if(i == 0)
- numberpos -= WINDOWNUM;
- else
- numberpos -= i;
- }
- }
-
- m_ClientParam.m_bNextPage = TRUE;
- UpdateData(FALSE);
- }
- void CNewclientDlg::F_CyclePause()
- {
- if(!m_ClientParam.m_bPaused)
- {
- m_ClientParam.m_bPaused = TRUE;
- if(cycletimer)
- {
- KillTimer(CYCLE_TIMER);
- cycletimer = 0;
- }
- }
- else
- {
- m_bChangePage = TRUE;
- F_CyclePlay();
- if(cycletimer == 0)
- cycletimer = SetTimer(CYCLE_TIMER,m_ClientParam.m_iCycleTime*1000,NULL);
- m_ClientParam.m_bPaused = FALSE;
- }
- }
- void CNewclientDlg::F_CyclePlay()
- {
- int itemp,i,j;
- TRACE("F_CyclePlay");
- if (m_nSurveillanceNumber <= WINDOWNUM)
- return;
- m_bChangePage = FALSE;
-
- if( (m_ClientParam.m_bEnlarged) || (m_ClientParam.m_bFullScreen) )
- {
- if(m_ClientParam.m_bFullScreen)
- {
- F_EndFullScreen();
- }
- ArrayWindow(0, WINDOWNUM); //窗口放大状态时,循环到下一画面,恢复原窗口数;
- MoveCurWin(WINDOWNUM,0);
- m_ClientParam.m_bEnlarged = FALSE;
- m_ClientParam.m_bFullScreen = FALSE;
- }
- if (m_nSurveillanceNumber == numberpos) //循环已到了最后一页,又开始第一页;
- itemp = WINDOWNUM;
- else
- {
- itemp = m_nSurveillanceNumber - numberpos;
-
- if (itemp > WINDOWNUM)
- itemp = WINDOWNUM;
- }
-
- if (m_nSurveillanceNumber == numberpos)
- j = 0;
- else
- j = numberpos;
-
- if(!m_ClientParam.m_bUseCard)
- {
- if(!g_bShareSound)
- NET_DVR_CloseSound();
- }
- //如果一个循环结束,可能不是从9->9,或许是9->i,所以需要对对(9-i)做ClientStop
- //循环到最后一个画面,要播放的窗口数可能小于WINDOWNUM,所以在播放最后一个画面时,关闭多余的播放窗口;
- for(i=0;i<WINDOWNUM;i++)
- {
- // TRACE("cycle stopplay %d", m_MyOutput[i].m_iPlayhandle);
- if(g_bShareSound)
- NET_DVR_CloseSoundShare(m_MyOutput[i].m_iPlayhandle);
- m_MyOutput[i].StopNet();
- // TRACE("StopNet");
- }
-
- for(i=0;i<itemp;i++)
- {
- if (i+j < MAXNUMBER)
- {
- // TRACE("play sel = %d", i+j);
- if(m_ClientParam.m_bUseCard)
- m_MyOutput[i].StartCard(&m_Selipinfo[i+j]);
- else
- {
- m_MyOutput[i].StartNet(&m_Selipinfo[i+j]);
- if(g_bShareSound && (m_MyOutput[i].m_iPlayhandle >= 0))
- {
- m_ClientParam.m_bPlaySound[i] = TRUE;
- }
- }
- Sleep(100);
- // TRACE("cycle startplay %d", m_MyOutput[i].m_iPlayhandle);
- }
- }
-
- // MyInvalidate();
- itemp = m_nSurveillanceNumber - numberpos;
- if(itemp ==0)
- {
- numberpos = WINDOWNUM;
- }
- else if(itemp <= WINDOWNUM)
- {
- numberpos = m_nSurveillanceNumber;
- }
- else
- {
- numberpos += WINDOWNUM;
- }
-
- m_bChangePage = TRUE;
-
- UpdateData(FALSE);
- }
- void CNewclientDlg::OnGetpicture()
- {
- //F_DeleteClientRecordFile();
- //return;
- // TODO: Add your control notification handler code here
- RECT rc,rc2;
- GetClientRect(&rc);
- if (!getpic.IsExisted())
- {
- getpic.Create(IDD_DLG_GETCAPTURE, NULL);
- //::GetClientRect(getpic.m_hWnd, &rc2);
- //::SetWindowPos(getpic.m_hWnd, wndTopMost, (rc.left+rc.right)/2, (rc.top+rc.bottom)/2, (rc.left+rc.right)/2+300, (rc.top+rc.bottom)/2+200, SWP_SHOWWINDOW);
- CRect rectFrame,rect;
- this->GetWindowRect( rectFrame );
- rect.left = rectFrame.left+rectFrame.Width()/2-340/2;
- rect.top = rectFrame.top+rectFrame.Height()/2-180/2;
- rect.right = rect.left+340;
- rect.bottom = rect.top+180;
- getpic.MoveWindow( rect );
- getpic.ShowWindow(SW_SHOW);
- }
- else
- {
- //::GetClientRect(getpic.m_hWnd, &rc2);
- //::SetWindowPos(getpic.m_hWnd, wndTopMost, (rc.left+rc.right)/2, (rc.top+rc.bottom)/2, (rc2.right-rc2.left)+8, (rc2.bottom-rc2.top)+24, SWP_SHOWWINDOW);
- CRect rectFrame,rect;
- this->GetWindowRect( rectFrame );
- rect.left = rectFrame.left+rectFrame.Width()/2-340/2;
- rect.top = rectFrame.top+rectFrame.Height()/2-180/2;
- rect.right = rect.left+340;
- rect.bottom = rect.top+180;
- //getpic.MoveWindow( rect );
- getpic.ShowWindow(SW_SHOW);
- }
- }
- void CNewclientDlg::OnRecord()
- {
- // TODO: Add your control notification handler code here
- int i = m_nActiveWndNumber;
-
- if(m_MyOutput[i].m_bIsAutoSave || m_ClientParam.m_bCycling)
- return;
-
- if( (m_MyOutput[i].m_iPlayhandle >= 0) && (!m_MyOutput[i].m_bFileSave) )
- {
- if(F_MakeDir())
- {
- F_StartClientRecord(i);
- }
- }
- else if(m_MyOutput[i].m_bFileSave)
- {
- F_StopClientRecord(i);
- }
- }
- BOOL CNewclientDlg::F_MakeDir()
- {
- CString sTemp;
- DWORD dirattr;
- CTime time;
-
- time = CTime::GetCurrentTime();
- sTemp.Format("%c:\\mpeg4record\\", m_cCurrentRecordDriver);
- dirattr = GetFileAttributes(sTemp);
- if(dirattr == FILE_ATTRIBUTE_DIRECTORY)
- {
- sTemp.Format("%c:\\mpeg4record\\%4d-%02d-%02d\\", m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
- dirattr=GetFileAttributes(sTemp);
- if(dirattr == FILE_ATTRIBUTE_DIRECTORY)
- {
- m_ClientParam.m_csClientRecordPath.Format("%s",sTemp);
- TRACE("已经创建了目录%s", sTemp);
- return TRUE;
- }
- else
- {
- if(!CreateDirectory(sTemp, NULL))
- {
- MessageBox("创建年月日目录失败!", "温馨提示", MB_ICONINFORMATION);
-
- return FALSE;
- }
- else
- {
- m_ClientParam.m_csClientRecordPath.Format("%s",sTemp);
- TRACE("在已有的目录%c:\\mpeg4record下创建子目录%4d-%02d-%02d", m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
- return TRUE;
- }
- }
- }
- if(!CreateDirectory(sTemp, NULL))
- {
- TRACE("创建mpeg4record目录失败!");
- return FALSE;
- }
- sTemp.Format("%c:\\mpeg4record\\%4d-%02d-%02d\\",m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
- if(!CreateDirectory(sTemp, NULL))
- {
- return FALSE;
- }
- m_ClientParam.m_csClientRecordPath.Format("%s",sTemp);
- TRACE("先创建%c:\\mpeg4record目录,再创建子目录%4d-%02d-%02d", m_cCurrentRecordDriver, time.GetYear(), time.GetMonth(), time.GetDay());
- return TRUE;
- }
- void CNewclientDlg::F_StartClientRecord(int iRecordWndIndex)
- {
- int i;
- char cFilename[256];
-
- i = iRecordWndIndex;
- TRACE("Start m_MyOutput[%d] Client Record", i);
- CTime time = CTime::GetCurrentTime();
- sprintf(cFilename, "%s%s_%02d_%4d%02d%02d_%02d%02d%02d.mp4", m_ClientParam.m_csClientRecordPath, g_RecordInfo[i].sDvsName, g_RecordInfo[i].nDvrChannel+1, \
- time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond() );
- int nNum = 0;
- bool bRet = false;
- for( int k=0;k<128;k++ )
- {
- if( m_MyOutput[k].m_csIP==g_RecordInfo[i].sDvsName && m_MyOutput[k].m_iChannel==g_RecordInfo[i].nDvrChannel+1 )
- {
- i=k;
- break;
- }
- }
- while( !bRet )
- {
- if( m_MyOutput[i].m_iPlayhandle<0 )
- break;
- bRet = NET_DVR_SaveRealData(m_MyOutput[i].m_iPlayhandle, cFilename);
- Sleep( 1000 );
- if( nNum++ >= 50 )
- return;
- }
- TRACE("Client Record Filename = %s", cFilename);
- m_MyOutput[i].m_lChangeFileNameTime = time.GetTime() + m_ClientParam.m_iRecordFileInterval * 60;
- m_MyOutput[i].m_bFileSave = TRUE;
- //m_pCapLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_ON,CLed::LED_ROUND);
- g_RecordInfo[iRecordWndIndex].bCapture = true;
- }
- void CNewclientDlg::F_StopClientRecord(int iRecordWndIndex)
- {
- int i = iRecordWndIndex;
- int nNum = 0;
- bool bRet = false;
- for( int k=0;k<128;k++ )
- {
- if( m_MyOutput[k].m_csIP==g_RecordInfo[i].sDvsName && m_MyOutput[k].m_iChannel==g_RecordInfo[i].nDvrChannel+1 )
- {
- i=k;
- break;
- }
- }
- while( !bRet )
- {
- if( m_MyOutput[i].m_iPlayhandle<0 )
- break;
- bRet = NET_DVR_StopSaveRealData(m_MyOutput[i].m_iPlayhandle);
- Sleep( 1000 );
- if( bRet )
- {
- m_MyOutput[i].m_bFileSave = FALSE;
- g_RecordInfo[iRecordWndIndex].bCapture = false;
- }
- if( nNum++ >= 50 )
- break;
- }
- }
- /*
- void CNewclientDlg::OnHide()
- {
- // TODO: Add your control notification handler code here
- ShowWindow(SW_MINIMIZE);
- }
- */
- void CNewclientDlg::OnEventlist()
- {
- // TODO: Add your control notification handler code here
- int i;
- CEventLog EventLogDlg;
- EventLogDlg.DoModal();
- SetEvent(hVideoBeeper);
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if(m_ClientParam.m_iAlarmHandle[i] >= 0)
- {
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_GREEN,CLed::LED_ON,CLed::LED_ROUND);
- }
- //else
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
- }
- for(i = 0; i < MAXALARMIN; i++)
- {
- alarminfo[i].m_csIP.Format(_T(""));
- alarminfo[i].m_csUsername.Format(_T(""));
- alarminfo[i].m_csPassword.Format(_T(""));
- alarminfo[i].m_iChannel = -1;
- alarminfo[i].m_iAlarmLevel = -1;
- alarminfo[i].m_iAlarmType = -1;
- alarminfo[i].m_iPortIndex = -1;
- alarminfo[i].m_wServerPort = 8000;
- }
- m_iAlarmNumber = 0;
- }
- void CNewclientDlg::OnButtonalarmset()
- {
- // TODO: Add your control notification handler code here
- int i;
-
- CSetAlarm SetAlarmDlg;
- SetAlarmDlg.DoModal();
- if(SetAlarmDlg.m_bOK)
- {
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if(m_ClientParam.m_iAlarmHandle[i] >= 0)
- {
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_GREEN,CLed::LED_ON,CLed::LED_ROUND);
- }
- else
- {
- //m_pAlarmLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_DISABLED,CLed::LED_ROUND);
- }
- }
- }
- }
- void CNewclientDlg::OnVideofileplay()
- {
- // TODO: Add your control notification handler code here
- CPlayBack PlayBackDlg;
- g_pNewclientDlg = this;
- PlayBackDlg.DoModal();
- }
- BOOL CNewclientDlg::F_JudgeDiskFull()
- {
- int i;
- ULARGE_INTEGER FreeSpace,CallerSpace,TotalSpace;
- CString csRootPath;
-
- for(i = m_ClientParam.m_iStartRecordDriver; i < m_ClientParam.m_iEndRecordDriver + 1; i++)
- {
- csRootPath.Format("%c%s",m_cHardDriver[i],":\\"); //从录像起始驱动器开始
- GetDiskFreeSpaceEx(csRootPath,&CallerSpace,&TotalSpace,&FreeSpace);
- if(CallerSpace.QuadPart > MINSPACE)
- {
- m_cCurrentRecordDriver = m_cHardDriver[i];
- // TRACE("m_cCurrentRecordDriver = %c:\\", m_cCurrentRecordDriver);
- m_ClientParam.m_bAllDiskFull = FALSE;
- return TRUE;
- }
- }
- m_ClientParam.m_bAllDiskFull = TRUE;
- return FALSE;
- }
- void CNewclientDlg::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
- //在此调用此函数重置时区,以修正时区调整之后由于程序只在初始化时获取时区而造成不能随之调整的问题
- _tzset();
- time_t lCurrentTime;
- CString csRootPath;
- CString csTemp;
- int i,j;
- CTime time1 = CTime::GetCurrentTime();
- //-1与星期相对应
- int iWeekday = time1.GetDayOfWeek() - 1;
- WORD iNowTime = time1.GetHour() * 100 + time1.GetMinute();
- NET_DVR_TIME CurTime;
- CurTime.dwYear = time1.GetYear();
- CurTime.dwMonth = time1.GetMonth();
- CurTime.dwDay = time1.GetDay();
- CurTime.dwHour = time1.GetHour();
- CurTime.dwMinute = time1.GetMinute();
- CurTime.dwSecond = time1.GetSecond();
- HANDLE hSnap = NULL;
- switch(nIDEvent)
- {
- case CYCLE_TIMER:
- if(m_bChangePage)
- F_CyclePlay();
- break;
- case FREESPACE_TIMER:
- csRootPath.Format("%c:\\", m_cCurrentRecordDriver);
- ULARGE_INTEGER FreeSpace,CallerSpace,TotalSpace;
- GetDiskFreeSpaceEx(csRootPath,&CallerSpace,&TotalSpace,&FreeSpace);
- m_ClientParam.m_bAllDiskFull = FALSE;
- if(CallerSpace.QuadPart < MINSPACE)
- {
- csTemp.Format("%4d-%02d-%02d %02d:%02d:%02d 硬盘驱动器%c已满", CurTime.dwYear, CurTime.dwMonth, CurTime.dwDay, CurTime.dwHour, CurTime.dwMinute, CurTime.dwSecond, m_cCurrentRecordDriver);
- TRACE(csTemp);
-
- if(!F_JudgeDiskFull()) //所有硬盘都满,删除8个最早的录像文件
- {
- //if(m_ClientParam.m_bCycleRecord)
- //{
- //F_DeleteClientRecordFile();
- //}
- //else
- {
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) && (m_MyOutput[i].m_bFileSave) )
- {
- F_StopClientRecord(i);
- }
- }
- F_DeleteClientRecordFile();// add 2012-03-13
- //MessageBox("客户端录像硬盘驱动器已满,无法继续录像!", "温馨提示", MB_ICONINFORMATION);
-
- return;
- }
- }
- else
- { //其他分区还有空间,存放到其他分区
-
- if(F_MakeDir())
- {
- TRACE("客户端录像文件存放到%c分区", m_cCurrentRecordDriver);
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) && (m_MyOutput[i].m_bFileSave) )
- F_ChangeRecordFileName(i);
- }
- }
- }
- }
- break;
- case FILEINTERVAL_TIMER:
- //////////////////////
- //////////////////////
- for(i = 0; i < MAXVIEWNUM; i++)
- {
- if( (m_MyOutput[i].m_iPlayhandle >= 0) && (m_MyOutput[i].m_bFileSave) )
- {
- lCurrentTime = time1.GetTime();
- if(lCurrentTime - m_MyOutput[i].m_lChangeFileNameTime >= 0)
- {
- TRACE("更改客户端录象文件名时间到");
- if(F_MakeDir())
- F_ChangeRecordFileName(i);
- }
- }
- }
- break;
- case AUTORECORD_TIMER:
- if(m_ClientParam.m_bCycling)
- return; //循环播放客户端不允许录像
- if(!m_ClientParam.m_bAutoRecord)
- {
- for(j = 0; j < MAXVIEWNUM; j++)
- {
- if(m_MyOutput[j].m_bIsAutoSave)
- {
- F_StopClientRecord(j);
- m_MyOutput[j].m_bIsAutoSave = FALSE;
- }
- }
- }
- else
- {
- for(i = 0; i < 4; i++)
- {
- if( (iNowTime >= m_ClientParam.m_ClientRecordTime[iWeekday][i].m_iStartTime) &&
- (iNowTime < m_ClientParam.m_ClientRecordTime[iWeekday][i].m_iStopTime) )
- {
- for(j = 0; j < MAXVIEWNUM; j++)
- {
- if(m_MyOutput[j].m_iPlayhandle >= 0)
- {
- //2008-02-25 既没有在自动录像又没有在手动录像才能开始自动录像
- if(!m_MyOutput[j].m_bIsAutoSave && !m_MyOutput[j].m_bFileSave)
- {
- if(m_ClientParam.m_bAllDiskFull)
- {
- return;
- }
- if(F_MakeDir())
- {
- F_StartClientRecord(j);
- m_MyOutput[j].m_bIsAutoSave = TRUE;
- }
- }
- }
- }
- break;
- }
- }
- //2008-02-25 当前时间不在设定的范围内要将开始的自动录像停掉
- if (i == 4)
- {
- for(j = 0; j < MAXVIEWNUM; j++)
- {
- if(m_MyOutput[j].m_bIsAutoSave)
- {
- F_StopClientRecord(j);
- m_MyOutput[j].m_bIsAutoSave = FALSE;
- }
- }
- }
- }
- break;
- case CHECKSERVER_TIMER:
- if(m_ClientParam.m_iCheckServerTime == (LONG)(CurTime.dwHour*10000 + CurTime.dwMinute*100 + CurTime.dwSecond) )
- {
- for(i = 0; i < MAXIPNUMBER; i++)
- {
- if(m_Serverinfo[i].m_csServerName != "")
- {
- if(NET_DVR_SetDVRConfig(m_Serverinfo[i].m_lServerID, NET_DVR_SET_TIMECFG,0,&CurTime, sizeof(NET_DVR_TIME)))
- {
- TRACE("%4d年%02d月%02d日%02d时%02d分%02d秒进行硬盘录像机校时成功.", CurTime.dwYear, CurTime.dwMonth, CurTime.dwDay, CurTime.dwHour, CurTime.dwMinute, CurTime.dwSecond);
- }
- else
- {
- TRACE("%4d年%02d月%02d日%02d时%02d分%02d秒进行硬盘录像机校时失败.", CurTime.dwYear, CurTime.dwMonth, CurTime.dwDay, CurTime.dwHour, CurTime.dwMinute, CurTime.dwSecond);
- }
- }
- }
- }
- break;
- case 55:
- {
- DWORD dwTicks = GetTickCount();
- for( int i=0;i<g_nRecordIndex;i++ )
- {
- int nTime=0;
- //判断没移动多久了,
- nTime = ( dwTicks-g_RecordInfo[i].dwNoMotionStartTime)/1000;
- if( g_RecordInfo[i].bCapture && nTime > g_NoMotionTime( g_nNoMotionTime ) )
- {
- F_StopClientRecord(i);
- }
- //判断视频时间
- nTime = ( dwTicks-g_RecordInfo[i].dwVideoStartTime)/1000;
- if( g_RecordInfo[i].bCapture && nTime > g_VideoMaxTime( g_nVideoMaxTime ) )
- {
- F_StopClientRecord(i);
- }
- }
- }
- break;
- case 56:
- {
- DWORD dwTicks = GetTickCount();
-
- int nTime = ( dwTicks-m_dwPreviewTime)/1000;
- if( nTime > 30 )
- {
- OnVideonetplay();
- KillTimer( 56 );
- }
- }
- break;
- default:
- break;
- }
- CDialog::OnTimer(nIDEvent);
- }
- bool CNewclientDlg::DeleteDirectory(CString strDir)
- {
- bool bRet = false;
- if(strDir.IsEmpty())
- return bRet;
- // 首先删除文件及子文件夹
- CFileFind ff;
- BOOL bFound = ff.FindFile(strDir+ "\\* ", 0);
- while(bFound)
- {
- bFound = ff.FindNextFile();
- if(ff.GetFileName()== "."||ff.GetFileName()== "..")
- continue;
- // 去掉文件(夹)只读等属性
- SetFileAttributes(ff.GetFilePath(), FILE_ATTRIBUTE_NORMAL);
- if(ff.IsDirectory())
- {
- // 递归删除子文件夹
- DeleteDirectory(ff.GetFilePath());
- RemoveDirectory(ff.GetFilePath());
- }
- else
- {
- // 删除文件
- bRet = true;
- DeleteFile(ff.GetFilePath());
- }
- }
- ff.Close();
- // 然后删除该文件夹
- RemoveDirectory(strDir);
- return bRet;
- }
- void CNewclientDlg::F_DeleteClientRecordFile()
- {
- CStringArray saFilePath,saFileName;
- CFileFind fdfile,fdfilemp4;
- BOOL bFinded,bfilefind;
- CString sDeleteDir,sTempDelete;
- CString sDir;
- CString sDate;
- CString sFliePath,sFileName;
- CTime time,temptime;
-
- int i,deletenum = 0;
- sDeleteDir.Format("0000-00-00");
- sTempDelete.Format("3000-00-00");
- time=CTime::GetCurrentTime();
-
- for(i = m_ClientParam.m_iStartRecordDriver; i < (m_ClientParam.m_iEndRecordDriver + 1); i++)
- {
- sDir.Format("%c:\\mpeg4record\\*.*",m_cHardDriver[i]);
- bFinded=fdfile.FindFile(sDir);
- while (bFinded)
- {
- bFinded=fdfile.FindNextFile();
- if (fdfile.IsDots())
- {
- continue;
- }
- if (fdfile.IsDirectory())
- {
- if(fdfile.GetFileName()==_T("download"))
- {
- continue;
- }
- if(fdfile.GetFileName()==_T("alarm"))
- {
- continue;
- }
- sFliePath.Format("%c:\\mpeg4record\\%s",m_cHardDriver[i],fdfile.GetFileName());
- saFilePath.Add( sFliePath );
- sFileName.Format("%s",fdfile.GetFileName());
- sFileName.Delete( 7 );
- sFileName.Delete( 4 );
- saFileName.Add( sFileName );
- //if( DeleteDirectory( sFileName ) )
- // return;
- //sFileName.Format("%c:\\mpeg4record\\%s\\*.mp4",m_cHardDriver[i],fdfile.GetFileName());
- //bfilefind=fdfilemp4.FindFile(sFileName);
- //if (!bfilefind)
- //{
- // CString sFilePath = fdfile.GetFilePath();
- // RemoveDirectory(fdfile.GetFilePath());
- // TRACE("删除目录:%s",fdfile.GetFilePath());
- //}
- //while(bfilefind)
- //{
- // bfilefind=fdfilemp4.FindNextFile();
- // if (fdfile.IsDots())
- // {
- // continue;
- // }
- // fdfilemp4.GetCreationTime(temptime);
- // if(temptime<time)
- // {
- // time=temptime;
- // sTempDelete.Format("%s",fdfilemp4.GetFilePath());
- // }
- //}
- }
- }
- }
- //sFileName.Format("%s",sTempDelete);
- //if (!DeleteFile(sFileName))
- //{
- // sTempDelete.Format("删除文件%s失败",sFileName);
- // F_AddEvent(sTempDelete);
- // for(i = 0; i < MAXVIEWNUM; i++)
- // {
- // if( (m_MyOutput[i].m_iPlayhandle >= 0) || (m_MyOutput[i].m_bFileSave) )
- // F_StopClientRecord(i);
- // }
- // MessageBox("硬盘容量不足,自动删除文件失败,请清理硬盘后重新开始录像!", "温馨提示", MB_ICONINFORMATION);
- //
- //}
- //else
- //{
- // sTempDelete.Format("删除文件%s成功",sFileName);
- // TRACE("删除文件%s",sFileName);
- // deletenum++;
- //}
- int nSize = saFileName.GetCount();
- if( nSize>0 )
- {
- CString sPath,sName;
- sPath = saFilePath.GetAt( 0 );
- sName = saFileName.GetAt( 0 );
-
- CString sPath2,sName2;
- for( int m=0;m<nSize;m++ )
- {
- sName2 = saFileName.GetAt( m );
- sPath2 = saFilePath.GetAt( m );
- if( atoi(sName)>atoi(sName2) )
- {
- sPath = sPath2;
- sName = sName2;
- }
- }
- if( DeleteDirectory( sPath ) )
- return;
- }
- }
- void CNewclientDlg::F_ChangeRecordFileName(int iRecordWndIndex)
- {
- int i;
- char cFilename[256];
- CTime time = CTime::GetCurrentTime();
-
- i = iRecordWndIndex;
-
- if(m_MyOutput[i].m_bFileSave)
- {
- TRACE("停止m_MyOutput[%d]客户端录像,更换文件名", i);
- NET_DVR_StopSaveRealData(m_MyOutput[i].m_iPlayhandle);
- }
- if(m_MyOutput[i].m_iPlayhandle >= 0)
- {
- sprintf(cFilename, "%s%s_%02d_%4d%02d%02d_%02d%02d%02d.mp4", m_ClientParam.m_csClientRecordPath, m_MyOutput[i].m_csIP, m_MyOutput[i].m_iChannel, \
- time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond() );
- int nNum = 0;
- bool bRet = false;
- while( !bRet )
- {
- bRet = NET_DVR_SaveRealData(m_MyOutput[i].m_iPlayhandle, cFilename);
- Sleep( 1000 );
- if( nNum++ >= 50 )
- return;
- }
- m_MyOutput[i].m_lChangeFileNameTime = time.GetTime() + m_ClientParam.m_iRecordFileInterval * 60;
- TRACE("Client Record Filename = %s", cFilename);
- m_MyOutput[i].m_bFileSave = TRUE;
- //m_pCapLed[i]->SetLed(CLed::LED_COLOR_RED,CLed::LED_ON,CLed::LED_ROUND);
- }
- }
- void CNewclientDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
- {
- // TODO: Add your message handler code here and/or call default
- int i;
- WORD wTemp;
- WORD wVolumevalue;
- BOOL bRet;
-
- i = m_nActiveWndNumber;
- wTemp = (0xFFFF) / 100;
- bRet = FALSE;
- if(m_MyOutput[i].m_iPlayhandle >= 0)
- {
- if(GetDlgItem(IDC_SLIDERLD) == pScrollBar)
- {
- m_ClientParam.m_VideoInfo[i].m_iBrightness = /*10 - */m_ld.GetPos();
- bRet = TRUE;
- }
- else if(GetDlgItem(IDC_SLIDERDBD) == pScrollBar)
- {
- m_ClientParam.m_VideoInfo[i].m_iContrast = /*10 - */m_dbd.GetPos();
- bRet = TRUE;
- }
- else if(GetDlgItem(IDC_SLIDERBHD) == pScrollBar)
- {
- m_ClientParam.m_VideoInfo[i].m_iSaturation = /*10 - */m_bhd.GetPos();
- bRet = TRUE;
- }
- else if(GetDlgItem(IDC_SLIDERSD) == pScrollBar)
- {
- m_ClientParam.m_VideoInfo[i].m_iHue= /*10 - */m_sd.GetPos();
- bRet = TRUE;
- }
-
- if(bRet)
- {
- bRet = NET_DVR_ClientSetVideoEffect(m_MyOutput[i].m_iPlayhandle, m_ClientParam.m_VideoInfo[i].m_iBrightness, m_ClientParam.m_VideoInfo[i].m_iContrast,
- m_ClientParam.m_VideoInfo[i].m_iSaturation, m_ClientParam.m_VideoInfo[i].m_iHue);
- if(!bRet)
- {
- MessageBox("设置视频参数失败!", "温馨提示", MB_ICONINFORMATION);
- }
- }
- }
- if(GetDlgItem(IDC_SLIDERYL) == pScrollBar)
- {
- if(m_lVoiceIndex >= 0)
- {
- TRACE("调整语音对讲声音.");
- m_ClientParam.m_Volume = m_yl.GetPos();
- wVolumevalue = (WORD)(m_yl.GetPos()) * wTemp;
- NET_DVR_SetVoiceComClientVolume(m_lVoiceIndex, wVolumevalue);
- }
- else if(m_ClientParam.m_bPlaySound[i] && (m_MyOutput[i].m_iPlayhandle >= 0))
- {
- TRACE("调整音频浏览声音.");
- m_ClientParam.m_Volume = m_yl.GetPos();
- wVolumevalue = (WORD)(m_yl.GetPos()) * wTemp;
- if(g_bShareSound)
- {
- NET_DVR_OpenSoundShare(m_MyOutput[m_nActiveWndNumber].m_iPlayhandle);
- }
- else
- {
- NET_DVR_OpenSound(m_MyOutput[i].m_iPlayhandle);
- }
- NET_DVR_Volume(m_MyOutput[i].m_iPlayhandle, wVolumevalue);
- }
- }
- CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
- }
- void CNewclientDlg::OnButtonpoll()
- {
- // TODO: Add your control notification handler code here
- int i = m_nActiveWndNumber;
- WORD wTemp = (0xFFFF) / 100;
- WORD wVolumevalue;
- m_ClientParam.m_VideoInfo[i].m_iBrightness = DEFAULTBRIGHTNESS;
- m_ClientParam.m_VideoInfo[i].m_iContrast = DEFAULTCONTRAST;
- m_ClientParam.m_VideoInfo[i].m_iSaturation = DEFAULTSATURATION;
- m_ClientParam.m_VideoInfo[i].m_iHue = DEFAULTHUE;
- NET_DVR_ClientSetVideoEffect(m_MyOutput[i].m_iPlayhandle, m_ClientParam.m_VideoInfo[i].m_iBrightness, m_ClientParam.m_VideoInfo[i].m_iContrast,
- m_ClientParam.m_VideoInfo[i].m_iSaturation, m_ClientParam.m_VideoInfo[i].m_iHue);
-
- m_ClientParam.m_Volume = DEFAULTVOLUME;
- if(m_lVoiceIndex >= 0)
- {
- TRACE("调整语音对讲声音.");
- wVolumevalue = (WORD)(m_ClientParam.m_Volume) * 10 *wTemp;
- NET_DVR_SetVoiceComClientVolume(m_lVoiceIndex, wVolumevalue);
- }
- else if(m_ClientParam.m_bPlaySound)
- {
- TRACE("调整音频浏览声音.");
- wVolumevalue = (WORD)(m_ClientParam.m_Volume) * 10 * wTemp;
- if(g_bShareSound)
- {
- NET_DVR_OpenSoundShare(m_MyOutput[m_nActiveWndNumber].m_iPlayhandle);
- }
- else
- {
- NET_DVR_OpenSound(m_MyOutput[i].m_iPlayhandle);
- }
- NET_DVR_Volume(m_MyOutput[i].m_iPlayhandle, wVolumevalue);
- }
- m_ld.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iBrightness);
- m_sd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iHue);
- m_bhd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iSaturation);
- m_dbd.SetPos(m_ClientParam.m_VideoInfo[m_nActiveWndNumber].m_iContrast);
- m_yl.SetPos(m_ClientParam.m_Volume);
- }
- void CNewclientDlg::OnButtonyzw()
- {
- // TODO: Add your control notification handler code here
- UpdateData(TRUE);
- int i = m_nActiveWndNumber;
- if(m_MyOutput[i].m_iPlayhandle >= 0)
- {
- NET_DVR_PTZPreset(m_MyOutput[i].m_iPlayhandle, GOTO_PRESET, m_yzd);
- }
- }
- void CNewclientDlg::OnCancel()
- {
- // TODO: Add extra cleanup here
-
- // CDialog::OnCancel();
- }
- /*
- void CNewclientDlg::OnButauto()
- {
- // TODO: Add your control notification handler code here
- char buf[20];
- buf[0] = 0xa0;
- buf[1] = 0x00;
- buf[2] = 0x00;
- buf[3] = 0x07;
- buf[4] = 0x00;
- buf[5] = 0x63;
- buf[6] = 0xaf;
- buf[7] = 0x6b;
- NET_DVR_TransPTZ_Other(m_MyOutput[0].m_lServerID, 1, buf, 8);
- }
- */
- /*void CNewclientDlg::OnButsharesound()
- {
- // TODO: Add your control notification handler code here
- if(g_bShareSound)
- {
- NET_DVR_SetAudioMode(1);
- g_bShareSound = FALSE;
- // GetDlgItem(IDC_BUTSHARESOUND)->SetWindowText("sound");
- }
- else
- {
- NET_DVR_SetAudioMode(2);
- g_bShareSound = TRUE;
- // GetDlgItem(IDC_BUTSHARESOUND)->SetWindowText("sharesound");
- }
- }
- */
- void CNewclientDlg::OnSelchangeCombonetdelay()
- {
- // TODO: Add your control notification handler code here
- UpdateData(TRUE);
- g_nNetDelay = m_NetDelayCtrl.GetCurSel();
- }
- void CNewclientDlg::OnButton1()
- {
- // TODO: Add your control notification handler code here
- UpdateData(TRUE);
- int i = m_nActiveWndNumber;
- if(!NET_DVR_MakeKeyFrame(m_MyOutput[i].m_lServerID, m_MyOutput[i].m_iChannel))
- {
- }
- }
- void CNewclientDlg::OnMove(int x, int y)
- {
- CDialog::OnMove(x, y);
-
- // TODO: Add your message handler code here
- Invalidate(TRUE);
- if (m_ClientParam.m_bUseCard)
- NET_DVR_RefreshSurface_Card();
- UpdateWindow();
- }
- void CNewclientDlg::OnButton2()
- {
- // TODO: Add your control notification handler code here
- UpdateData(TRUE);
- int i = m_nActiveWndNumber;
- if(!NET_DVR_MakeKeyFrameSub(m_MyOutput[i].m_lServerID, m_MyOutput[i].m_iChannel))
- {
- }
- }
- void CNewclientDlg::OnCruise()
- {
- // TODO: Add your control notification handler code here
- if (m_MyOutput[m_nActiveWndNumber].m_iPlayhandle < 0)
- {
- return;
- }
- CCruiseRoute CruiseRoute;
- CruiseRoute.m_lServerID = m_MyOutput[m_nActiveWndNumber].m_lServerID;
- CruiseRoute.DoModal();
- }
- void CNewclientDlg::OnBnClickedButtonup()
- {
- // TODO: 在此添加控件通知处理程序代码
- }
- void CNewclientDlg::OnBnClickedButtondown()
- {
- // TODO: 在此添加控件通知处理程序代码
- }
- HBRUSH CNewclientDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- // TODO: 在此更改 DC 的任何属性
- HBRUSH B = CreateSolidBrush( g_Color1 );
- if( nCtlColor == CTLCOLOR_STATIC )
- {
- pDC->SetBkColor( g_Color1 );
- pDC->SetTextColor(RGB(255,255,255));
- return B;
- }
- DeleteObject( B );
- // TODO: 如果默认的不是所需画笔,则返回另一个画笔
- return hbr;
- }
- BOOL CNewclientDlg::OnEraseBkgnd(CDC* pDC)
- {
- #if 0
- CRect rc;
- this->GetClientRect(&rc); //ScreenToClient(&rc);
- pDC->StretchBlt(rc.left, rc.top, rc.Width(),rc.Height(),&m_dcMemBak,
- 0,0,m_bmInfoBak.bmWidth-1,m_bmInfoBak.bmHeight-1,SRCCOPY);
- #else
- CBrush brush;
- CRect rect;
- COLORREF rgbBackGnd = g_Color1;//RGB( 0,0,0 ); //RGB( 59,61,63 ); //
- GetWindowRect(&rect);
- ScreenToClient(&rect);
- brush.CreateSolidBrush(rgbBackGnd);
- pDC->FillRect(rect,&brush);
- /////////////////////////////
- CRect rc1,rc2,rc3,rc4;
- CBrush br1;
- br1.CreateSolidBrush( RGB(0,0,0) );
- int W=0,H=0;
- GetDlgItem(IDC_STATIC2)->GetWindowRect( rc1 ); ScreenToClient( &rc1 );
- GetDlgItem(IDC_STATIC17)->GetWindowRect( rc2 ); ScreenToClient( &rc2 );
- GetDlgItem(IDC_STATIC4)->GetWindowRect( rc3 ); ScreenToClient( &rc3 );
- GetDlgItem(IDC_VEDIO_SHOW)->GetWindowRect( rc4 ); ScreenToClient( &rc4 );
-
- rect.left = rc4.right-20;
- rect.right = rc1.right+10;
- rect.top = rc1.bottom;
- rect.bottom = rc2.top;
- pDC->FillRect(rect,&br1);
- rect.left = rc4.right-20;
- rect.right = rc1.right+10;
- rect.top = rc2.bottom;
- rect.bottom = rc3.top;
- pDC->FillRect(rect,&br1);
-
- //rect2.left = rect.left+775;
- //rect2.top = 0;
- //rect2.right = rect.right-5;
- //rect2.bottom = rect.top+735;
- //CPen pen;
- //pen.CreatePen(PS_SOLID,5,RGB(255,204,0));
- //pDC->SelectObject(pen);
- //CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)) ;
- //CBrush *pOldBrush=pDC->SelectObject(pBrush);//选入设备描述表
- //pDC->Rectangle(rect2);//绘制矩形
- //pDC->SelectObject(pOldBrush);
- //DeleteObject( pBrush );
- DeleteObject( brush );
- DeleteObject( br1 );
-
-
- #endif
-
- return TRUE;
- //return CDialog::OnEraseBkgnd(pDC);
- }
- void CNewclientDlg::ShowGrid()
- {
- CClientDC dc(this);
- HICON hIcon;
- CRect rc1,rc2,rc3,rc4,rc5,rc6,rc7;
- GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rc1 );ScreenToClient( &rc1 );
- GetDlgItem(IDC_STA_GRID2)->GetWindowRect( rc2 );ScreenToClient( &rc2 );
- GetDlgItem(IDC_STA_GRID3)->GetWindowRect( rc3 );ScreenToClient( &rc3 );
- GetDlgItem(IDC_STA_GRID4)->GetWindowRect( rc4 );ScreenToClient( &rc4 );
- GetDlgItem(IDC_STA_GRID5)->GetWindowRect( rc5 );ScreenToClient( &rc5 );
- GetDlgItem(IDC_STA_GRID6)->GetWindowRect( rc6 );ScreenToClient( &rc6 );
- GetDlgItem(IDC_STA_GRID7)->GetWindowRect( rc7 );ScreenToClient( &rc7 );
- if( WINDOWNUM==1 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID1_ON);
- dc.DrawIcon(rc1.left,rc1.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID1_OFF);
- dc.DrawIcon(rc1.left,rc1.top,hIcon);
- }
- if( WINDOWNUM==4 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID4_ON);
- dc.DrawIcon(rc2.left,rc2.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID4_OFF);
- dc.DrawIcon(rc2.left,rc2.top,hIcon);
- }
- if( WINDOWNUM==9 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID9_ON);
- dc.DrawIcon(rc3.left,rc3.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID9_OFF);
- dc.DrawIcon(rc3.left,rc3.top,hIcon);
- }
- if( WINDOWNUM==16 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID16_ON);
- dc.DrawIcon(rc4.left,rc4.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID16_OFF);
- dc.DrawIcon(rc4.left,rc4.top,hIcon);
- }
- if( WINDOWNUM==33 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID32_ON);
- dc.DrawIcon(rc5.left,rc5.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID32_OFF);
- dc.DrawIcon(rc5.left,rc5.top,hIcon);
- }
- if( WINDOWNUM==64 )
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID64_ON);
- dc.DrawIcon(rc6.left,rc6.top,hIcon);
- }
- else
- {
- hIcon = AfxGetApp()->LoadIcon(IDI_GRID64_OFF);
- dc.DrawIcon(rc6.left,rc6.top,hIcon);
- }
- //if( WINDOWNUM==128 )
- //{
- // hIcon = AfxGetApp()->LoadIcon(IDI_GRID128_ON);
- // dc.DrawIcon(rc7.left,rc7.top,hIcon);
- //}
- //else
- //{
- // hIcon = AfxGetApp()->LoadIcon(IDI_GRID128_OFF);
- // dc.DrawIcon(rc7.left,rc7.top,hIcon);
- //}
- }
- void CNewclientDlg::OnLButtonUp(UINT nFlags, CPoint point)
- {
- // TODO: 在此添加消息处理程序代码和/或调用默认值
- WORD wndnum=0;
- CRect rc1,rc2,rc3,rc4,rc5,rc6,rc7;
- GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rc1 );ScreenToClient( &rc1 );
- GetDlgItem(IDC_STA_GRID2)->GetWindowRect( rc2 );ScreenToClient( &rc2 );
- GetDlgItem(IDC_STA_GRID3)->GetWindowRect( rc3 );ScreenToClient( &rc3 );
- GetDlgItem(IDC_STA_GRID4)->GetWindowRect( rc4 );ScreenToClient( &rc4 );
- GetDlgItem(IDC_STA_GRID5)->GetWindowRect( rc5 );ScreenToClient( &rc5 );
- GetDlgItem(IDC_STA_GRID6)->GetWindowRect( rc6 );ScreenToClient( &rc6 );
- GetDlgItem(IDC_STA_GRID7)->GetWindowRect( rc7 );ScreenToClient( &rc7 );
- bool bIn = false;
- if( rc1.PtInRect( point ) )
- {
- wndnum = 1; bIn = true;
- }
- if( rc2.PtInRect( point ) )
- {
- wndnum = 4; bIn = true;
- }
- if( rc3.PtInRect( point ) )
- {
- wndnum = 9; bIn = true;
- }
- if( rc4.PtInRect( point ) )
- {
- wndnum = 16; bIn = true;
- }
- if( rc5.PtInRect( point ) )
- {
- wndnum = 33; bIn = true;
- }
- if( rc6.PtInRect( point ) )
- {
- wndnum = 64; bIn = true;
- }
- //if( rc7.PtInRect( point ) )
- //{
- // wndnum = 128; bIn = true;
- //}
- if( bIn && WINDOWNUM != wndnum)
- {
- WINDOWNUM = wndnum;
- if(m_ClientParam.m_bCycling)
- {
- MessageBox("请停止循环播放!", "温馨提示", MB_ICONINFORMATION);
-
- return;
- }
- if(m_ClientParam.m_bPlaying)
- {
- TRACE("Stop Play");
- F_StopPlay();
- OnVideonetplay();
- }
- ArrayWindow(0, WINDOWNUM);
- MoveCurWin(WINDOWNUM,0);
- ShowGrid();
- }
- CDialog::OnLButtonUp(nFlags, point);
- }
- void CNewclientDlg::ReadSurveillanceConfig()
- {
- #if 1
- int m=0;
- CHAR strSQLText[MAX_SQL_LENGTH + 1] = "";
- list<string> list1,list2,list3,list4,list5,list6;
- list<string> list7,list8,list9,list10,list11,list12,list13;
- list<string>::iterator it_list1,it_list2,it_list3,it_list4,it_list5,it_list6;
- list<string>::iterator it_list7,it_list8,it_list9,it_list10,it_list11,it_list12,it_list13;
- CString sIP,sPort,sUserName,sPwd,sChaanelNum,sServerMultiIP,sServerName,sVersion;
- CString s1,s2,s3;
- DWORD dwServerIPvalue = 0,dwServerMultiIPvalue = 0;
- int nChannelNum = 0;
- int nPort = 0;
- if(!_stricmp(g_strDBType, "PGSQL"))
- {
- sprintf(strSQLText, "select id, ip, port,username,pwd,channelnum,serveripvalue1,serveripvalue2,servermultiip,servermultiipvalue1,servermultiipvalue2,servername,devsoftversion from t_video_dvrinfo order by id");
- }
- else
- {
- sprintf(strSQLText, "select id, ip, port,username,pwd,channelnum,serveripvalue1,serveripvalue2,servermultiip,servermultiipvalue1,servermultiipvalue2,servername,devsoftversion from t_video_dvrinfo order by id");
- }
- int nRet = GetFieldValueList13( strSQLText,list1,list2,list3,list4,list5,list6,list7,list8,list9,list10,list11,list12,list13 );
- if( 0 == list1.size() || 0 == list2.size() )
- {
- return ;
- }
- m_nSurveillanceNumber=0;
- if( nRet != -1 )
- {
- for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(),
- it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin(),
- it_list7=list7.begin(),it_list8=list8.begin(),it_list9=list9.begin(),
- it_list10=list10.begin(),it_list11=list11.begin(),it_list12=list12.begin(),
- it_list13=list13.begin();
- it_list1!=list1.end() && it_list2!=list2.end() && it_list3!=list3.end() &&
- it_list4!=list4.end() && it_list5!=list5.end() && it_list6!=list6.end() &&
- it_list7!=list7.end() && it_list8!=list8.end() && it_list9!=list9.end() &&
- it_list10!=list10.end() && it_list11!=list11.end() && it_list12!=list12.end() &&
- it_list13!=list13.end() ;
- it_list1++,it_list2++,it_list3++,
- it_list4++,it_list5++,it_list6++,
- it_list7++,it_list8++,it_list9++,
- it_list10++,it_list11++,it_list12++,
- it_list13++)
- {
- sIP = (*it_list2).c_str();
- nPort = atoi( (*it_list3).c_str() );;
- sUserName = (*it_list4).c_str();
- sPwd = (*it_list5).c_str();
- nChannelNum = atoi( (*it_list6).c_str() );
- s1 = (*it_list7).c_str();
- s2 = (*it_list8).c_str();
- dwServerIPvalue = atoi(s1) << 16;
- dwServerIPvalue += atoi(s2);
- sServerMultiIP = (*it_list9).c_str();
- s1 = (*it_list10).c_str();
- s2 = (*it_list11).c_str();
- dwServerMultiIPvalue = atoi(s1) << 16;
- dwServerMultiIPvalue += atoi(s2);
- sServerName = (*it_list12).c_str();
- sVersion = (*it_list13).c_str();
- m_Serverinfo[m].m_csServerAdminName = sUserName;//用户名
- m_Serverinfo[m].m_csServerAdminPasswd = sPwd;//密码
- m_Serverinfo[m].m_iServerChannelNumber = nChannelNum;//通道数
- m_Serverinfo[m].m_csServerIP = sIP;//ip地址
- m_Serverinfo[m].m_dwServerIPvalue = dwServerIPvalue;
- m_Serverinfo[m].m_csServerMultiIP = sServerMultiIP;//多播组地址
- m_Serverinfo[m].m_dwServerMultiIPvalue = dwServerMultiIPvalue;
- m_Serverinfo[m].m_csServerName = sServerName;//服务器名称
- m_Serverinfo[m].m_wServerPort = nPort; //端口号
- m_Serverinfo[m].m_dwDevSoftVersion = atoi(sVersion); //设备软件版本
- ////////////////////////////////////////////////////////////////////////////////////////////////
- int n=0;
- list<string> lt1,lt2,lt3,lt4,lt5,lt6;
- list<string> lt7,lt8,lt9;
- list<string>::iterator it_lt1,it_lt2,it_lt3,it_lt4,it_lt5,it_lt6;
- list<string>::iterator it_lt7,it_lt8,it_lt9;
- CString sChanName;
- int nUsed=0,dwaddress=0,dwalarmlevel,ichannel,wjmqtype,dwprotocol,isequence;
- if(!_stricmp(g_strDBType, "PGSQL"))
- {
- sprintf(strSQLText, "select ip, channame,bused,dwaddress,dwalarmlevel,ichannel,wjmqtype,dwprotocol,isequence from t_video_channelinfo where ip=\'%s\' order by id",sIP);
- }
- else
- {
- sprintf(strSQLText, "select ip, channame,bused,dwaddress,dwalarmlevel,ichannel,wjmqtype,dwprotocol,isequence from t_video_channelinfo where ip=\'%s\' order by id",sIP);
- }
-
- nRet = GetFieldValueList9( strSQLText,lt1,lt2,lt3,lt4,lt5,lt6,lt7,lt8,lt9 );
- if( 0 == lt1.size() || 0 == lt2.size() )
- {
- return ;
- }
- if( nRet != -1 )
- {
- for( it_lt1=lt1.begin(),it_lt2=lt2.begin(),it_lt3=lt3.begin(),
- it_lt4=lt4.begin(),it_lt5=lt5.begin(),it_lt6=lt6.begin(),
- it_lt7=lt7.begin(),it_lt8=lt8.begin(),it_lt9=lt9.begin();
- it_lt1!=lt1.end() && it_lt2!=lt2.end() && it_lt3!=lt3.end() &&
- it_lt4!=lt4.end() && it_lt5!=lt5.end() && it_lt6!=lt6.end() &&
- it_lt7!=lt7.end() && it_lt8!=lt8.end() && it_lt9!=lt9.end();
- it_lt1++,it_lt2++,it_lt3++,
- it_lt4++,it_lt5++,it_lt6++,
- it_lt7++,it_lt8++,it_lt9++ )
- {
- sChanName = (*it_lt2).c_str();
- nUsed = atoi( (*it_lt3).c_str() );
- dwaddress = atoi( (*it_lt4).c_str() );
- dwalarmlevel = atoi( (*it_lt5).c_str() );
- ichannel = atoi( (*it_lt6).c_str() );
- wjmqtype = atoi( (*it_lt7).c_str() );
- dwprotocol = atoi( (*it_lt8).c_str() );
- isequence = atoi( (*it_lt9).c_str() );
- m_Allipinfo[m][n].m_bChoosed = nUsed;//1
- m_Allipinfo[m][n].m_dwAddress = dwaddress;//解码器地址1
- m_Allipinfo[m][n].m_dwAlarmlevel = dwalarmlevel;//报警级别1
- m_Allipinfo[m][n].m_iChannel = ichannel;//通道号1
- m_Allipinfo[m][n].m_csIP = sIP;//ip地址1
- m_Allipinfo[m][n].m_dwIPvalue = dwServerIPvalue;//1
- m_Allipinfo[m][n].m_wJMQtype = wjmqtype;//解码器类型1
- m_Allipinfo[m][n].m_csMultiIP = sServerMultiIP;//多播组地址1
- m_Allipinfo[m][n].m_dwMultiIPvalue = dwServerMultiIPvalue;//1
- m_Allipinfo[m][n].m_csChanName = sChanName;//通道名称1
- m_Allipinfo[m][n].m_dwProtocol = dwprotocol;//协议1
- m_Allipinfo[m][n].m_csPassword = sPwd;//通道密码1
- m_Allipinfo[m][n].m_csUser = sUserName;//通道用户1
- m_Allipinfo[m][n].m_wServerport = nPort;//端口号1
- m_Allipinfo[m][n].m_iSequence = isequence;//1
- n++;
- }
- }
- for( it_lt1=lt1.begin(),it_lt2=lt2.begin(),it_lt3=lt3.begin(),
- it_lt4=lt4.begin(),it_lt5=lt5.begin(),it_lt6=lt6.begin(),
- it_lt7=lt7.begin(),it_lt8=lt8.begin(),it_lt9=lt9.begin();
- it_lt1!=lt1.end(),it_lt2!=lt2.end(),it_lt3!=lt3.end(),
- it_lt4!=lt4.end(),it_lt5!=lt5.end(),it_lt6!=lt6.end(),
- it_lt7!=lt7.end(),it_lt8!=lt8.end(),it_lt9!=lt9.end(); )
- {
- lt1.erase(it_lt1++);
- lt2.erase(it_lt2++);
- lt3.erase(it_lt3++);
- lt4.erase(it_lt4++);
- lt5.erase(it_lt5++);
- lt6.erase(it_lt6++);
- lt7.erase(it_lt7++);
- lt8.erase(it_lt8++);
- lt9.erase(it_lt9++);
- }
- //////////////////////////////////////////////////////////////////////////////////////////////
- m++;
- }
- }
- for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(),
- it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin(),
- it_list7=list7.begin(),it_list8=list8.begin(),it_list9=list9.begin(),
- it_list10=list10.begin(),it_list11=list11.begin(),it_list12=list12.begin(),
- it_list13=list13.begin();
- it_list1!=list1.end(),it_list2!=list2.end(),it_list3!=list3.end(),
- it_list4!=list4.end(),it_list5!=list5.end(),it_list6!=list6.end(),
- it_list7!=list7.end(),it_list8!=list8.end(),it_list9!=list9.end(),
- it_list10!=list10.end(),it_list11!=list11.end(),it_list12!=list12.end(),
- it_list13!=list13.end();)
- {
- list1.erase(it_list1++);
- list2.erase(it_list2++);
- list3.erase(it_list3++);
- list4.erase(it_list4++);
- list5.erase(it_list5++);
- list6.erase(it_list6++);
- list7.erase(it_list7++);
- list8.erase(it_list8++);
- list9.erase(it_list9++);
- list10.erase(it_list10++);
- list11.erase(it_list11++);
- list12.erase(it_list12++);
- list13.erase(it_list13++);
- }
- #else
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////
- int i, j;
- char buf[256];
- DWORD dtemp;
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ChannelCfg%d.dat", cWorkDir,m_nOCXIndex );
- if(myFile.Open(csFilename, CFile::modeRead) == FALSE)
- {
- myFile.Open(csFilename, CFile::modeCreate);
- return;
- }
- m_nSurveillanceNumber=0;
- while(myFile.ReadString(buf,256))
- {
- if(buf[1]==0x53)
- {
- myFile.ReadString(buf,256);//数组下标
- i=atoi(buf);
-
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_csServerAdminName.Format("%s",buf);//用户名
- m_Serverinfo[i].m_csServerAdminName.Format("%s",m_Serverinfo[i].m_csServerAdminName.Left(m_Serverinfo[i].m_csServerAdminName.GetLength()-2));
-
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_csServerAdminPasswd.Format("%s",buf);//密码
- m_Serverinfo[i].m_csServerAdminPasswd.Format("%s",m_Serverinfo[i].m_csServerAdminPasswd.Left(m_Serverinfo[i].m_csServerAdminPasswd.GetLength()-2));
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_iServerChannelNumber=atoi(buf);//通道数
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_csServerIP.Format("%s",buf);//ip地址
- m_Serverinfo[i].m_csServerIP.Format("%s",m_Serverinfo[i].m_csServerIP.Left(m_Serverinfo[i].m_csServerIP.GetLength()-2));
-
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- m_Serverinfo[i].m_dwServerIPvalue=dtemp;
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_csServerMultiIP.Format("%s",buf);//多播组地址
- m_Serverinfo[i].m_csServerMultiIP.Format("%s",m_Serverinfo[i].m_csServerMultiIP.Left(m_Serverinfo[i].m_csServerMultiIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- m_Serverinfo[i].m_dwServerMultiIPvalue=dtemp;
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_csServerName.Format("%s",buf);//服务器名称
- m_Serverinfo[i].m_csServerName.Format("%s",m_Serverinfo[i].m_csServerName.Left(m_Serverinfo[i].m_csServerName.GetLength()-2));
-
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_wServerPort = atoi(buf); //端口号
- myFile.ReadString(buf,256);
- m_Serverinfo[i].m_dwDevSoftVersion = atoi(buf); //设备软件版本
- }
- else
- {
- myFile.ReadString(buf,256);//数组下标
- i=atoi(buf);
- myFile.ReadString(buf,256);//数组下标
- j=atoi(buf);
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_bChoosed=atoi(buf);//1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_dwAddress=atoi(buf);//解码器地址1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_dwAlarmlevel=atoi(buf);//报警级别1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_iChannel=atoi(buf);//通道号1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_csIP.Format("%s",buf);//ip地址1
- m_Allipinfo[i][j].m_csIP.Format("%s",m_Allipinfo[i][j].m_csIP.Left(m_Allipinfo[i][j].m_csIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- m_Allipinfo[i][j].m_dwIPvalue=dtemp;//1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_wJMQtype=atoi(buf);//解码器类型1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_csMultiIP.Format("%s",buf);//多播组地址1
- m_Allipinfo[i][j].m_csMultiIP.Format("%s",m_Allipinfo[i][j].m_csMultiIP.Left(m_Allipinfo[i][j].m_csMultiIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- m_Allipinfo[i][j].m_dwMultiIPvalue=dtemp;//1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_csChanName.Format("%s",buf);//通道名称1
- m_Allipinfo[i][j].m_csChanName.Format("%s",m_Allipinfo[i][j].m_csChanName.Left(m_Allipinfo[i][j].m_csChanName.GetLength()-2));
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_dwProtocol=atoi(buf);//协议1
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_csPassword.Format("%s",buf);//通道密码1
- m_Allipinfo[i][j].m_csPassword.Format("%s",m_Allipinfo[i][j].m_csPassword.Left(m_Allipinfo[i][j].m_csPassword.GetLength()-2));
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_csUser.Format("%s",buf);//通道用户1
- m_Allipinfo[i][j].m_csUser.Format("%s",m_Allipinfo[i][j].m_csUser.Left(m_Allipinfo[i][j].m_csUser.GetLength()-2));
-
- myFile.ReadString(buf,256);
- m_Allipinfo[i][j].m_wServerport = atoi(buf);//端口号1
- myFile.ReadString(buf, 256);
- m_Allipinfo[i][j].m_iSequence = atoi(buf);//1
- }
- }
- myFile.Close();
- #endif
- }
- void CNewclientDlg::ReadClientConfig()
- {
- CString sDownloadPath,sPictureSavePath,sLogSavePath,sVideoMaxTime,sNoMotionTime,sStartRecordDriver,sEndRecordDriver;
- ////////////////////////////////////////////////////////////////////////////////////////////////
- CHAR strSQLText[MAX_SQL_LENGTH + 1] = "";
- list<string> lt1,lt2,lt3,lt4,lt5,lt6;
- list<string> lt7,lt8,lt9;
- list<string>::iterator it_lt1,it_lt2,it_lt3,it_lt4,it_lt5,it_lt6;
- list<string>::iterator it_lt7,it_lt8,it_lt9;
- CString sChanName;
- int nUsed=0,dwaddress=0,dwalarmlevel,ichannel,wjmqtype,dwprotocol,isequence;
- if(!_stricmp(g_strDBType, "PGSQL"))
- {
- sprintf(strSQLText, "select id, sdownloadpath,spicturesavepath,slogsavepath,videomaxtime,nomotiontime,istartrecorddriver,iendrecorddriver,intreserved1 from t_video_localsetting order by id");
- }
- else
- {
- sprintf(strSQLText, "select id, sdownloadpath,spicturesavepath,slogsavepath,videomaxtime,nomotiontime,istartrecorddriver,iendrecorddriver,intreserved1 from t_video_localsetting order by id");
- }
-
- int nRet = GetFieldValueList9( strSQLText,lt1,lt2,lt3,lt4,lt5,lt6,lt7,lt8,lt9 );
- if( 0 == lt1.size() || 0 == lt2.size() )
- {
- return ;
- }
- if( nRet != -1 )
- {
- for( it_lt1=lt1.begin(),it_lt2=lt2.begin(),it_lt3=lt3.begin(),
- it_lt4=lt4.begin(),it_lt5=lt5.begin(),it_lt6=lt6.begin(),
- it_lt7=lt7.begin(),it_lt8=lt8.begin(),it_lt9=lt9.begin();
- it_lt1!=lt1.end() && it_lt2!=lt2.end() && it_lt3!=lt3.end() &&
- it_lt4!=lt4.end() && it_lt5!=lt5.end() && it_lt6!=lt6.end() &&
- it_lt7!=lt7.end() && it_lt8!=lt8.end() && it_lt9!=lt9.end();
- it_lt1++,it_lt2++,it_lt3++,
- it_lt4++,it_lt5++,it_lt6++,
- it_lt7++,it_lt8++,it_lt9++ )
- {
- sDownloadPath = (*it_lt2).c_str();
- sPictureSavePath = (*it_lt3).c_str();
- sLogSavePath = (*it_lt4).c_str();
- sVideoMaxTime = (*it_lt5).c_str();
- sNoMotionTime = (*it_lt6).c_str();
- sStartRecordDriver = (*it_lt7).c_str();
- sEndRecordDriver = (*it_lt8).c_str();
- }
- }
- for( it_lt1=lt1.begin(),it_lt2=lt2.begin(),it_lt3=lt3.begin(),
- it_lt4=lt4.begin(),it_lt5=lt5.begin(),it_lt6=lt6.begin(),
- it_lt7=lt7.begin(),it_lt8=lt8.begin(),it_lt9=lt9.begin();
- it_lt1!=lt1.end(),it_lt2!=lt2.end(),it_lt3!=lt3.end(),
- it_lt4!=lt4.end(),it_lt5!=lt5.end(),it_lt6!=lt6.end(),
- it_lt7!=lt7.end(),it_lt8!=lt8.end(),it_lt9!=lt9.end(); )
- {
- lt1.erase(it_lt1++);
- lt2.erase(it_lt2++);
- lt3.erase(it_lt3++);
- lt4.erase(it_lt4++);
- lt5.erase(it_lt5++);
- lt6.erase(it_lt6++);
- lt7.erase(it_lt7++);
- lt8.erase(it_lt8++);
- lt9.erase(it_lt9++);
- }
- g_nVideoMaxTime = atoi(sVideoMaxTime);
- g_nNoMotionTime = atoi(sNoMotionTime);
- m_ClientParam.m_iStartRecordDriver = atoi(sStartRecordDriver); //起始盘符
- m_ClientParam.m_iEndRecordDriver = atoi(sEndRecordDriver); //终止盘符
- m_ClientParam.m_csDownLoadPath.Format("%s", sDownloadPath); //远程文件下载路径
- m_ClientParam.m_csPictureSavePath.Format("%s", sPictureSavePath); //抓图文件保存路径
- m_ClientParam.m_csLogSavePath.Format("%s", sLogSavePath); //日志文件保存路径
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- #if 0
- int iTemp, iDay = 0, i, j;
- char buf[256];
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ClientCfg%d.dat", cWorkDir,m_nOCXIndex );
- if(myFile.Open(csFilename, CFile::modeRead) == FALSE)
- {
- myFile.Open(csFilename, CFile::modeCreate);
- return;
- }
- if(!myFile.ReadString(buf,256))
- {
- myFile.Close();
- return;
- }
- iTemp = atoi(buf);
- if(iTemp < 5)
- m_ClientParam.m_iCycleTime = 5; //循环播放时间
- else
- m_ClientParam.m_iCycleTime = iTemp;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bCyclePlay = TRUE; //是否循环播放
- else
- m_ClientParam.m_bCyclePlay = FALSE;
-
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bUseCard = TRUE; //是否使用解码卡
- else
- m_ClientParam.m_bUseCard = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bNTSC = TRUE; //解码卡视频制式
- else
- m_ClientParam.m_bNTSC = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if (iTemp > 60)
- m_ClientParam.m_iRecordFileInterval = 60; //录像文件打包时间
- else
- m_ClientParam.m_iRecordFileInterval = iTemp;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bAutoRecord = TRUE; //是否自动录像
- else
- m_ClientParam.m_bAutoRecord = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bCycleRecord = TRUE; //是否循环录像
- else
- m_ClientParam.m_bCycleRecord = FALSE;
- myFile.ReadString(buf, 256);
- m_ClientParam.m_iStartRecordDriver = atoi(buf); //起始盘符
- myFile.ReadString(buf, 256);
- m_ClientParam.m_iEndRecordDriver = atoi(buf); //终止盘符
- myFile.ReadString(buf,256);
- m_ClientParam.m_csDownLoadPath.Format("%s", buf); //远程文件下载路径
- m_ClientParam.m_csDownLoadPath.Format("%s", m_ClientParam.m_csDownLoadPath.Left(m_ClientParam.m_csDownLoadPath.GetLength() - 2));
- myFile.ReadString(buf,256);
- m_ClientParam.m_csPictureSavePath.Format("%s", buf); //抓图文件保存路径
- m_ClientParam.m_csPictureSavePath.Format("%s", m_ClientParam.m_csPictureSavePath.Left(m_ClientParam.m_csPictureSavePath.GetLength() - 2));
- myFile.ReadString(buf,256);
- m_ClientParam.m_csLogSavePath.Format("%s", buf); //日志文件保存路径
- m_ClientParam.m_csLogSavePath.Format("%s", m_ClientParam.m_csLogSavePath.Left(m_ClientParam.m_csLogSavePath.GetLength() - 2));
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- m_ClientParam.m_bCheckServerTime = TRUE; //是否启动硬盘录像机校时
- else
- m_ClientParam.m_bCheckServerTime = FALSE;
- long lTemp;
- myFile.ReadString(buf,256);
- lTemp = atol(buf);
- if(lTemp < 0)
- m_ClientParam.m_iCheckServerTime = 0; //硬盘录像机校时时间
- else
- m_ClientParam.m_iCheckServerTime = lTemp;
- while(myFile.ReadString(buf, 256))
- {
- m_ClientParam.m_ClientRecordTime[iDay][0].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][0].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][1].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][1].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][2].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][2].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][3].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- m_ClientParam.m_ClientRecordTime[iDay][3].m_iStopTime = atoi(buf);
- iDay++;
- }
- for(i = 0; i < 7; i++)
- {
- for(j = 0; j < 4; j++)
- {
- m_ClientParam.m_ClientRecordTime[i][j].m_iStartHour = m_ClientParam.m_ClientRecordTime[i][j].m_iStartTime / 100;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStartMinute = m_ClientParam.m_ClientRecordTime[i][j].m_iStartTime % 100;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStopHour = m_ClientParam.m_ClientRecordTime[i][j].m_iStopTime / 100;
- m_ClientParam.m_ClientRecordTime[i][j].m_iStopMinute = m_ClientParam.m_ClientRecordTime[i][j].m_iStopTime % 100;
- }
- }
- myFile.Close();
- #endif
- }
- bool CNewclientDlg::MakeFolderExist( CString DirectoryName )
- {
- if(DirectoryName[DirectoryName.GetLength()-1]!='\\')
- DirectoryName += "\\";
- int nStart = 3;
- CString sTemp;
- for(int n = nStart;n<DirectoryName.GetLength();n++)
- {
- if(DirectoryName[n]=='\\')
- {
- sTemp = DirectoryName.Left(n);
- bool f = ExistFolder(sTemp);
- if(!ExistFolder(sTemp))
- CreateDirectoryCHN(sTemp);
- }
- }
- return true;
- }
- bool CNewclientDlg::CreateDirectoryCHN(CString DirectoryName)
- {
- bool re=false;
- ::CreateDirectory(DirectoryName,NULL);
- //DWORD dwAttrs;
- //dwAttrs=GetFileAttributes(DirectoryName);
- //if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
- //{
- // SetFileAttributes(DirectoryName,dwAttrs|FILE_ATTRIBUTE_HIDDEN);
- //}
- return re;
- }
- bool CNewclientDlg::ExistFolder(CString FilePath)
- {
- return PathFileExists( FilePath );
- }
- void CNewclientDlg::OnBnClickedButtontjleft()
- {
- // TODO: 在此添加控件通知处理程序代码
- }
- int CNewclientDlg::GetSysData()
- {
- CString sFilePath = "C:\\DBtemp.txt";
- if( PathFileExists( sFilePath ) )
- {
- CString sTemp;
- CStdioFile File;
-
- if(!File.Open(sFilePath,CFile::modeRead))
- File.Open(sFilePath,CFile::modeCreate|CFile::modeRead);
-
- int n = 0;
- while(File.ReadString(sTemp))//定义一个CString变量sTemp作为缓冲区
- {
- switch( n )
- {
- case 0:
- memcpy( g_strServerName,sTemp,sTemp.GetLength() );
- break;
- case 1:
- memcpy( g_strDataBaseName,sTemp,sTemp.GetLength() );
- break;
- case 2:
- memcpy( g_strUserName,sTemp,sTemp.GetLength() );
- break;
- case 3:
- memcpy( g_strPassword,sTemp,sTemp.GetLength() );
- break;
- case 4:
- memcpy( g_strDBType,sTemp,sTemp.GetLength() );
- break;
- }
- n++;
- }
- File.Close();
- //DeleteFile(sFilePath);
- }
- else
- {
- }
- return 0;
- }
|