📄 checkkeyfrm.~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(§or,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 + -