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

📄 checkkeyfrm.~cpp

📁 软件加密之反拷贝技术--加密解密技术已趋于成熟
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "checkkeyfrm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
        TEdit   *edits[]={Edit1,Edit2,Edit3};
        TEdit   *edit=(TEdit *)Sender;
        if(Key==0x0d&&edit->Tag<4) {
         edits[edit->Tag+1]->SetFocus();
         Key=0;
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        if(Edit1->Text.Length()==3||Key==0x0d) Edit2->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        if(Edit2->Text.Length()==3||Key==0x0d) Edit3->SetFocus();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit3KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        if(Edit3->Text.Length()==4||Key==0x0d) Button1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        if(Edit1->Text.Length()==3
           &&Edit2->Text.Length()==3
           &&Edit3->Text.Length()==4)
        {
         ShowMessage("请将KEY盘插入A驱动器中!");
         DeleteFile("result.dat");
         AnsiString cmd="kdcheck.exe ";
         cmd+=Edit1->Text+"-"+Edit2->Text+"-"+Edit3->Text;
         ::WinExec(cmd.c_str(),SW_HIDE);
         Timer1->Tag=0;Timer1->Enabled=true;
         Button1->Enabled=false;
        }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit3KeyPress(TObject *Sender, char &Key)
{
        TEdit   *edits[]={Edit1,Edit2,Edit3};
        TEdit   *edit=(TEdit *)Sender;
        if(!((Key>='0'&&Key<='9')||Key==8))
         Key=0;
}
//---------------------------------------------------------------------------



void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        Timer1->Tag++;
        if(FileExists("result.dat")||Timer1->Tag>90) {
         Timer1->Enabled=false;
         HWND    FirstHwnd;
         FILE   *fp;
         short int errorcode=0,track=0,sector=0;
         fp=fopen("result.dat","rb");
         if(fp) {
          fread(&errorcode,2,1,fp);
          fread(&track,2,1,fp);
          fread(&sector,2,1,fp);
          fclose(fp);
         }
         switch(errorcode) {
          case 0:
           ShowMessage(AnsiString("Key盘错误!\r随机扇区:")+track+","+(sector&0xff));
           break;
          case 1:
           ShowMessage(AnsiString("Key盘已通过验证!\r随机扇区:")+track+","+(sector&0xff));
           break;
         }
         Button1->Enabled=true;
        }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
        Left=(Screen->Width-Width)/2;
        Top=(Screen->Height-Height)/2;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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