⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cd.cpp

📁 基于VC环境下的光驱驱动程序
💻 CPP
字号:
// cd.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "cd.h"
#include "cdDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCdApp

BEGIN_MESSAGE_MAP(CCdApp, CWinApp)
//{{AFX_MSG_MAP(CCdApp)
// 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()

/////////////////////////////////////////////////////////////////////////////
// CCdApp construction

CCdApp::CCdApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CCdApp object

CCdApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CCdApp initialization

BOOL CCdApp::InitInstance()
{
	
	if(this->OSVer()!="WinXP")
	{
		typedef BOOL  (WINAPI *pClassXP)(HWND,BOOL);
		HINSTANCE hInst=NULL;
		hInst=::LoadLibrary("ClassXP.dll");
		if (hInst)
		{
			pClassXP pFunc= (pClassXP)GetProcAddress (hInst,"ClassXP");
			pFunc(NULL,TRUE);		
		}
	}
	
	
	CString str="clock";
	m=OpenMutex(MUTEX_ALL_ACCESS,false,str);
	if(m==NULL)
	{
		m=CreateMutex(NULL,false,str);
	}
	
	else
	{
		MessageBox(NULL,"该程序已经在运行了!,\n请按Win+S 或在任务栏电击鼠标左键盘 来显示主窗口","光驱控制",MB_OK | MB_ICONEXCLAMATION);
		return false;
	}

	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
	
	CCdDlg dlg;
	m_pMainWnd = &dlg;
		
	dlg.DoModal();


	return FALSE;
}

int CCdApp::ExitInstance() 
{
	
	if(m!=NULL)
		ReleaseMutex(m);
	return CWinApp::ExitInstance();
}

CString CCdApp::OSVer()
{
	OSVERSIONINFOEX os;
	::ZeroMemory(&os,sizeof(os));
	os.dwOSVersionInfoSize=sizeof(os);
	::GetVersionEx(reinterpret_cast<LPOSVERSIONINFO>(&os));
	
	if(os.dwPlatformId==VER_PLATFORM_WIN32_NT && os.dwMajorVersion >=5)
	{
		if(os.dwMinorVersion==0)
			return "Win2000";
		else
			return "WinXP";
	}
	
	if(os.dwPlatformId ==VER_PLATFORM_WIN32_WINDOWS)
		return "Win9x";
	else
		return "Other";
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -