123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- // newclient.cpp : Defines the class behaviors for the application.
- //
- #include "stdafx.h"
- #include "newclient.h"
- #include "newclientDlg.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CNewclientApp
- BEGIN_MESSAGE_MAP(CNewclientApp, CWinApp)
- //{{AFX_MSG_MAP(CNewclientApp)
- // NOTE - the ClassWizard will add and remove mapping macros here.
- // DO NOT EDIT what you see in these blocks of generated code!
- //}}AFX_MSG
- ON_COMMAND(ID_HELP, CWinApp::OnHelp)
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CNewclientApp construction
- CNewclientApp::CNewclientApp()
- {
- // TODO: add construction code here,
- // Place all significant initialization in InitInstance
- }
- /////////////////////////////////////////////////////////////////////////////
- // The one and only CNewclientApp object
- CNewclientApp theApp;
- /////////////////////////////////////////////////////////////////////////////
- // CNewclientApp initialization
-
- BOOL CNewclientApp::InitInstance()
- {
- AfxEnableControlContainer();
- // Standard initialization
- // If you are not using these features and wish to reduce the size
- // of your final executable, you should remove from the following
- // the specific initialization routines you do not need.
- #ifdef _AFXDLL
- Enable3dControls(); // Call this when using MFC in a shared DLL
- #else
- Enable3dControlsStatic(); // Call this when linking to MFC statically
- #endif
- NET_DVR_Init();
- int isupport = NET_DVR_IsSupport();
-
- if (!(isupport & NET_DVR_SUPPORT_DDRAW))
- {
- AfxMessageBox("显卡无法支持");
- return FALSE;
- }
- if (!(isupport & NET_DVR_SUPPORT_SSE))
- {
- AfxMessageBox("硬件无法支持,需要PIII及PIII以上CPU");
- return FALSE;
- }
- if (!(isupport & NET_DVR_SUPPORT_BLT))
- {
- AfxMessageBox("显卡无法支持");
- return FALSE;
- }
-
- if(!F_GetSystemInfo())
- {
- AfxMessageBox("获取系统信息错误!");
- }
- CNewclientDlg dlg;
- m_pMainWnd = &dlg;
- int nResponse = dlg.DoModal();
- if (nResponse == IDOK)
- {
- // TODO: Place code here to handle when the dialog is
- // dismissed with OK
- }
- else if (nResponse == IDCANCEL)
- {
- // TODO: Place code here to handle when the dialog is
- // dismissed with Cancel
- }
- // Since the dialog has been closed, return FALSE so that we exit the
- // application, rather than start the application's message pump.
- return FALSE;
- }
- BOOL CNewclientApp::F_GetSystemInfo()
- {
- DWORD dw=GetLogicalDriveStrings(0,NULL);
- LPTSTR pAllDrivers=new char[dw];
- ::GetLogicalDriveStrings(dw,pAllDrivers);
- LPTSTR pDriver=pAllDrivers;
- char tempDriver[26];
- DWORD DriverNum=0;
- while(pDriver[0]!=0)
- {
- tempDriver[DriverNum++]=*pDriver;
- pDriver=_tcschr(pDriver,0)+1; //定位到下一个盘符
- }
-
- //volume information
- TCHAR lpVolumeNameBuffer[200];
- DWORD dwVolumeSerialNumber,dwMaxComLength;
- DWORD dwFileSystemFlags;
- TCHAR lpFileSystemNameBuffer[50];
-
- DWORD HardNum=0;
- for(DWORD num=0;num<DriverNum;num++)
- {
- CString csRootPath;
- csRootPath.Format("%c%s",tempDriver[num],":\\");
-
- if(GetDriveType(csRootPath)==DRIVE_FIXED)
- {
- if(GetVolumeInformation(csRootPath,lpVolumeNameBuffer,sizeof(lpVolumeNameBuffer),&dwVolumeSerialNumber,
- &dwMaxComLength,&dwFileSystemFlags,lpFileSystemNameBuffer,sizeof(lpFileSystemNameBuffer)))
- {
- this->m_cHardDriver[HardNum++]=tempDriver[num];
- }
- }
-
-
- }
- m_iDriverNum=HardNum;
- delete[] pAllDrivers;
- return TRUE;
- }
- int CNewclientApp::ExitInstance()
- {
- // TODO: Add your specialized code here and/or call the base class
- NET_DVR_Cleanup();
- return CWinApp::ExitInstance();
- }
|