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

📄 direktivezastite.h

📁 s/w handheld terminal ( based on Cygnal 8051f230)
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////////////////////
// Datoteka sadrzi 'funkcije' ( tacnije 'parcice koda' ) koji sluze za zastitu.
// Ove funkcije se, pomocu #include direktive, ukljucuju na puno mesta u kodu 
// ( sto vise, radi tezeg 'razbijanja' ).
//
// Izbor funkcije se vrsi tako sto se ispred #include navede odgovarajuca #define direktiva.
/////////////////////////////////////////////////////////////////////////////////////////////

//
// FUNKCIJA ZA OCITAVANJE ID-A RACUNARA NA KOJEM SE IZVRSAVA APLIKACIJA.
//
// Zahteva : 
//      - inculde       :   "cpu_info.h", "stdafx.h", <string> ...
//      - deklaraciju   :   string cTekuciID;
//      - direktivu     :   #define SRACUNAJ_TEKUCI_PCID
//
#ifdef SRACUNAJ_TEKUCI_PCID

    // ID diska ( "C" particije )
    char VolumeName[200]="";
    char FileSystem[50]="";
    DWORD VolumeSerialNumber=0;
    DWORD MaxFileName=0;
    DWORD dwFileSystem=0;
    GetVolumeInformation( "c:\\", VolumeName, sizeof(VolumeName),
         &VolumeSerialNumber, &MaxFileName, &dwFileSystem, FileSystem, sizeof(FileSystem) );
    CString VolumeSerialNum;
    VolumeSerialNum.Format("%X",VolumeSerialNumber);
    VolumeSerialNum = VolumeSerialNum.Left(4) + CString("-") + VolumeSerialNum.Right(4);
    cTekuciID += string( VolumeSerialNum );

    // ID procesora
	CString CPUSerialNum( "" );
	CPUInfo cpu;
	if ( cpu.DoesCPUSupportCPUID() ) {
		CPUSerialNum += cpu.GetFamilyID();
		CPUSerialNum += " ";
		CPUSerialNum += cpu.GetTypeID();
		CPUSerialNum += " ";
		CPUSerialNum += cpu.GetSteppingCode();
		CPUSerialNum += " ";
		CPUSerialNum += cpu.GetModelID();
		CPUSerialNum += " ";
        CPUSerialNum += cpu.GetProcessorSerialNumber();
	}
    cTekuciID += string( CPUSerialNum );

#undef SRACUNAJ_TEKUCI_PCID
#endif

//
// FUNKCIJA ZA POREDJENJE ID-A RACUNARA NA KOJEM SE IZVRSAVA APLIKACIJA I ZAPAMCENOG ID-A
//
// Zahteva : 
//      - inculde       :   "Identifikator.h" ...
//      - deklaracije   :   string cTekuciID;
//                          bool bDobarPCID;
//      - direktivu     :   #define PROVERI_PCID
//
#ifdef PROVERI_PCID

    if ( cTekuciID == KVazeciID::Instance()->DajPCID() ) 
        bDobarPCID = true;
    else 
        bDobarPCID = false;

#undef PROVERI_PCID
#endif

⌨️ 快捷键说明

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