亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmdtools.cpp

?? 命令行方式的硬盤工具 可以在dos和nt下運行。 需要djgpp和vs7.0以上
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
    bitset<32> binval;
	CBigInt bigInt;
    if( strin.fail())
        return ;
    switch(c)
    {
    case 'x':
        //strin>>hex>>tmp;break;
		tmp = CBigInt::HEX;
		break;
    case 'd':
        //strin>>dec>>tmp;break;
		tmp = CBigInt::DEC;
		break;
    //case 'o':
        //strin>>oct>>tmp;break;
		//bigInt.AtoI(s, CBigInt::);
	//	break;
    case 'b':
        //strin>>binval;
        //tmp=binval.to_ulong();
		tmp = CBigInt::BIN;
        break;
    default:;
		return ;
    }
	DWORD ret = bigInt.AtoI(s, tmp, 16);
	if (ret == ERR_SUCCESS)
    {
        m_pError->AddError(ERR_NO_ERROR);
        //cout<< "Hex:" <<hex << tmp
        //    << "   Dec:" <<dec << tmp
        //    << "   Oct:" <<oct << tmp
        //    << "   Bin:" <<hex << bitset<32> (tmp).to_string<char,std::char_traits<char> ,std::allocator<char> >() 
        //    << endl;
		cout<< "Hex:" << bigInt.ItoA(CBigInt::HEX, 16)
			<< "   Dec:" << bigInt.ItoA(CBigInt::DEC, 16)
			//<< "   Oct:" << bigInt.ItoA(CBigInt::HEX, 16)
			<< "   Bin:" << bigInt.ItoA(CBigInt::BIN, 16)
			<< endl;
//        HextoBin(tmp);
    }
	else
	{
		m_pError->AddError(ret);
	}
}
/*
void CTools::HextoBin(unsigned int ulHex)
{
    CHAR buf[33];
    int i=0;
    while(ulHex)
    {
        buf[i]=ulHex%2;
        ulHex=ulHex/2;
        i++;
    }
    buf[i]='\0';
    int k=8;
    while(k>i)
    {
        cout<< '0';
        k--;
        if(k%4==0)
            cout<< ' ';
    }
    for(i--;i>=0;i--)
    {
        if((i+1)%4==0)
            cout<< ' ';
        cout<< dec <<setw(1) << buf[i] <<hex;
    }
}
*/

unsigned int CTools::BintoHex(CHAR *argv)
{
    unsigned int ulVal=0;
    unsigned int i=0;
    if(*argv!=' ')
        return 0;
    argv++;
    while(  *argv!='\0' && i<(sizeof(unsigned int)*8) )
    {
        if( *argv=='0'|| *argv=='1' )
        {
            ulVal=ulVal*2+(*argv-'0');
            argv++;
        }
        else
        {
            return 0;
        }
        i++;
    }
    return ulVal;
}

void CTools::Status(void)
{
    cout<< "Current File:" << m_pszFileName<< endl
        << "m_uBufPos:" << m_uBufPos << endl
        << "m_ulBufOffset:"<< m_ulBufOffset << endl
        << "m_uDisk:" << m_uDisk << endl
		<< "m_pszFileName: " << m_pszFileName << endl;

    int i=0;
    for(;i<c_CMD_T_MAX_BUF;i++)
    {
        cout<< "Buffer " << setw(1) << i;
        cout<< "Size:" << setw(8) <<m_BufSize[i] << "Bytes" << endl;
        cout<< "CurSectorNumber: " << setw(10) << m_dqBufSector[i] << endl;
    }
    m_pError->AddError(ERR_NO_ERROR);
}

void CTools::HandleError(void)
{
    DWORD tmp=m_pError->GetLastError();
    if( tmp!=ERR_NO_ERROR &&tmp  !=c_CMD_T_CM_QUIT )
    {
        m_pError->ReportAllError();
//    m_pError->ReportLastError();
        m_pError->ClearAllError();
        cout<< "Type h for help" <<endl;
    }
    else if(tmp==ERR_NO_ERROR)
    {
        m_pError->ClearAllError();
    }
}

void CTools::DosCommand(CHAR *argv)
{
    if(*argv==' ')
    {
        argv++;
        //        int ret=system(argv);
        system(argv);
        m_pError->AddError(ERR_NO_ERROR);
        //        if(!ret)
        //			cout<< "Dos Command Executed Fail");
    }
}

void CTools::UseBuf(CHAR *argv)
{
    unsigned int tmp;
    istringstream strin(argv);
    strin.setf(ios_base::hex,ios_base::basefield);
    strin>>tmp;
    if( strin.fail())
        return ;
    if(tmp<c_CMD_T_MAX_BUF)
    {
        m_uBufPos=tmp;
        m_pError->AddError(ERR_NO_ERROR);
        return;
    }
}

void CTools::SearchPartition(CHAR *argv)
{
	DWORD ulStartCyl;
    istringstream strin(argv);
    strin.setf(ios_base::hex,ios_base::basefield);
    strin>>ulStartCyl;
    if( strin.fail())
        return ;

	BYTE buff[512];
	double tmp1 = 255L*63L*512L;
	double tmp2 = 1024L*1024L*100L;
	double tmp3 = 1024L*1024L*1024L;
	cout<< "The compacity of one cyliner is: "  << endl
		<< dec << (DWORD)tmp1 << "bytes(dec)  " 
		<< hex << (DWORD)tmp1 << "bytes(hex)  " 
		<< dec << tmp1/1024/1024 << "Mb(dec)  "  << endl
		<< "100 Mb = " << dec << tmp2/tmp1 << "(dec) cyliners\t\t 1 Gb = "  
		<< dec << tmp3/tmp1 << "(dec) cyliners" 
		<< endl;
		
#ifdef WIN32
    cout<<"Press any key to Stop.";
#endif//
#ifdef __DJGPP__
    cout<<"Press Ctrl+Break to Stop.";
    _go32_want_ctrl_break(1);
#endif//
	cout<< "	Please Wait. Searching ... " << endl
		<< "Current Sectors(Hex):" << endl;
	DWORD64 startSector=0;
	DWORD64 i;
	ostringstream ostr;
	//ostr.fill('0');
	ostr.setf(ios_base::right,ios_base::adjustfield);
	ostr.setf(ios_base::uppercase);
	ostr.setf(ios_base::hex,ios_base::basefield);

	for(i=ulStartCyl;;i++)
	{
//		startSector=i*255*63;
		cprintf("%llX\r", startSector);	//??
		for(int head=0;head<255;head++)
		{
			startSector=i*255*63+head*63;
			if(!m_pInt13->ReadSector(startSector,1,buff))
			{
				cout<< endl 
					<< "End of Disk. Search complete."
					<< endl;
				goto quit;
			}

			if( *( (WORD *)&buff[510] ) ==0xaa55)
			{
				cout<< endl
					<< "Found at: Cyl= " << hex << uppercase << i 
					<< " \tSectors Number= " << hex << uppercase <<( DWORD64) (startSector)
					<< endl;
				cout<< "Press any key to continue. " <<endl;
				getch();
			}
			else
			{
				#ifdef __DJGPP__
				if(_go32_was_ctrl_break_hit())
				{
				#endif
				#ifdef WIN32
				if (kbhit())
				{
					getch();
				#endif//
					if(SLib::GetYesNo())
					{
						m_pError->AddError(ERR_NO_ERROR);
						goto quit ;
					}
				}
			}
		}
	}
quit:
#ifdef __DJGPP__
    _go32_want_ctrl_break(0);
#endif
cout<<hex;
}

void CTools::SaveSectors(CHAR *argv)
{
    DWORD64 ulStartSec;
    DWORD ulLen;
    istringstream strin(argv);
    strin.setf(ios_base::hex,ios_base::basefield);
    strin>>ulStartSec>>ulLen;
    if( strin.fail())
        return ;
    if(ulLen*c_uBYTES_PER_SECTOR>m_BufSize[m_uBufPos])
    {
        m_pError->AddError(ERR_BUF_SMALL);
        return;
    }
    if(m_pInt13->WriteSector(ulStartSec,ulLen,(BYTE *)m_ppBuf[m_uBufPos]) )
        m_pError->AddError(ERR_NO_ERROR);
   // else
    //    m_pError->AddError();
}

void CTools::SaveFile(CHAR *argv)
{
	string sname;
	DWORD len;
	istringstream strin(argv);
	strin.setf(ios_base::hex,ios_base::basefield);
	strin>>sname;
	if( strin.fail())
		return;
	strin>>len;
	if( strin.fail())
		len=m_BufSize[m_uBufPos];
	if(WriteFile(sname.c_str(),len,m_ppBuf[m_uBufPos]))
		m_pError->AddError(ERR_NO_ERROR); 
}

void CTools::BackupDiskPartitions(CHAR *argv)
{
	int diskNumber;
	string spath;
	istringstream strin(argv);
	strin.setf(ios_base::hex,ios_base::basefield);
	strin>>spath;
	if (strin.fail())
	{
		diskNumber = 0x80;
		spath = "";
		cout<<"Use current directory to save backup file for disk 0x80" << endl;
	}
	else
	{
		strin>>diskNumber;
		if (strin.fail())
		{
			diskNumber = 0x80;
			cout<<"Use default disk 0x80" << endl;
		}
	}
	cout<<"Use directory " << spath << " to save backup file for disk " << hex<< showbase << uppercase << diskNumber << endl;
	int oldDiskNumber = m_pInt13->GetActiveDisk();
	if (!m_pInt13->SetPhyDiskNumber(diskNumber))
		return ;
	
	auto_ptr<CBackupDiskSector>pbackup (new CBackupDiskSector(m_pInt13, m_pError));
	if (pbackup->BackupOneDisk(spath))
		m_pError->AddError(ERR_NO_ERROR);

	m_pInt13->SetPhyDiskNumber(oldDiskNumber);
}

void CTools::RestoreDiskPartitions(CHAR *argv)
{
	int diskNumber;
	string spath;
	istringstream strin(argv);
	strin.setf(ios_base::hex,ios_base::basefield);
	strin>>spath;
	if (strin.fail())
	{
		diskNumber = 0x80;
		spath = "";
		cout<<"Use current directory to restore backup file for disk 0x80" << endl;
	}
	else
	{
		strin>>diskNumber;
		if (strin.fail())
		{
			diskNumber = 0x80;
			cout<<"Use default disk 0x80" << endl;
		}
	}
	cout<<"Use directory " << spath << " to restore backup file for disk " << hex<< showbase << uppercase << diskNumber << endl;
	int oldDiskNumber = m_pInt13->GetActiveDisk();
	if (!m_pInt13->SetPhyDiskNumber(diskNumber))
		return ;

	if (GetYesNo("Do you want to backup current disk ?(Y/N)"))
	{
		cout<< endl <<"Input backup directory:";
		string s;
		cin>> s;
		int c =getchar();
		auto_ptr<CBackupDiskSector>pbackup (new CBackupDiskSector(m_pInt13, m_pError));
		if (!pbackup->BackupOneDisk(s))
		{
			return;
		}
	}
	cout<< endl;
	auto_ptr<CBackupDiskSector>pbackup (new CBackupDiskSector(m_pInt13, m_pError));
	if (pbackup->RestoreOneDisk(spath))
		m_pError->AddError(ERR_NO_ERROR);

	m_pInt13->SetPhyDiskNumber(oldDiskNumber);}


#ifdef WIN32
extern void Counter(const char *argv);
void CTools::Counter(CHAR *argv)
{
	if (*argv == ' ' || *argv == '\t')
		;
	else
		return;
	string spath;
	istringstream strin(argv);
	strin.setf(ios_base::hex,ios_base::basefield);
	strin>>spath;
	if (strin.fail())
	{
		cout<<"Using current directory" <<endl;
		::Counter(".");
	}
	else
	{
		::Counter(spath.c_str());
	}
	m_pError->AddError(ERR_NO_ERROR);
}
#endif 

#ifdef __DJGPP__
void CTools::Cmos(CHAR *argv)
{
	if (*argv == ' ' || *argv == '\t')
		;
	else
		return;
	char c;
	string spath;
	istringstream strin(argv);
	strin.setf(ios_base::hex,ios_base::basefield);
	strin>>c>>spath;
	if (!strin.fail() || c== 'c')
	{
		string fileInfo = spath + "ifo";
		string fileBin = spath + "bin";
		switch(c)
		{
		case 'b':
			{
				int i;
				FILE *cmfp,*cmbfp;
				unsigned j;
				if((cmfp=fopen(fileInfo.c_str(),"w"))==NULL)
				{
					printf("can't creat %s\n", fileInfo.c_str());
					return ;
				}
				if((cmbfp=fopen(fileBin.c_str(),"wb"))==NULL)
				{
					printf("can't creat %s\n", fileBin.c_str());
					return ;
				}
				for(i=0;i<=0xff;i++)
				{
					outportb(0x70,i);
					j=inportb(0x71);
					fputc(j,cmbfp);
					if(i%16==0)
						fprintf(cmfp,"\n");
					fprintf(cmfp,"%02X %02X ",i,j );
				}
				fclose(cmfp);
				fclose(cmbfp);
				printf("Backup CMOS Information successfull.\n");
			}
			break;
		case 'c':
			{
				int i;
				for(i=0;i<=0xff;i++)
				{
						outportb(0x70,i);
						outportb(0x71,0);
				}
				printf("Clear CMOS Information successfull.\n");
			}
			break;
		case 'r':
			{
				FILE *cmopen;
				int j,i;
				if((cmopen=fopen(fileBin.c_str(),"r+b"))==NULL)
				{
					printf("can't open %s\n", fileBin.c_str());
					return ;
				}
				for( i=0;i<=0xff;i++)
				{
					outportb(0x70,i);
					j=fgetc(cmopen);
					outportb(0x71,j);
				}
				fclose(cmopen);
				printf("Restore CMOS Information successfull.\n");
			}
			break;
		default:
			return;
		}
	}
	else
	{
		return ;
	}
	m_pError->AddError(ERR_NO_ERROR);
}

#endif 

void DispError(CHAR *p)
{
    cout<<"Error is:" << p << endl;
}

void CTools::SetActivePhyDisk(CHAR *argv)
{
    unsigned int tmp;
    istringstream strin(argv);
    strin.setf(ios_base::hex,ios_base::basefield);
    strin>>tmp;
    if( strin.fail())
        return ;
    if( tmp>=0x80 && tmp < ( 0x80+c_iMAX_DISKS) )
    {
        if(m_pInt13->SetPhyDiskNumber(tmp))
		{
			m_uDisk=tmp;
			m_pError->AddError(ERR_NO_ERROR);
		}
    }
}

//__declspec(dllimport)  const SLib::ERROR_STRING g_allErrorString[];

CCmdToolError::CCmdToolError(void)
{

}

CCmdToolError::~CCmdToolError()
{

}

void CCmdToolError::OutputMsg(const tstring & msg)const 
{
    cout<< msg ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区四区不卡| 粉嫩嫩av羞羞动漫久久久| 亚洲视频免费看| 欧美—级在线免费片| 中文幕一区二区三区久久蜜桃| 国产日韩av一区二区| 国产欧美一区在线| 国产精品人成在线观看免费| 久久综合色婷婷| 久久久久久久久久久久久久久99 | 亚洲一区在线观看网站| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲精品乱码久久久久久黑人| 一区二区三区四区精品在线视频| 亚洲制服丝袜在线| 久久国产乱子精品免费女| 国产在线观看一区二区| 波多野洁衣一区| 欧美麻豆精品久久久久久| 日韩一区二区三区四区五区六区| 久久久久国产精品麻豆ai换脸| 国产精品亲子乱子伦xxxx裸| 亚洲一区二区三区四区中文字幕| 日韩在线一区二区| 风间由美性色一区二区三区| 色屁屁一区二区| 精品久久五月天| 亚洲视频免费在线观看| 美国毛片一区二区三区| 高清国产午夜精品久久久久久| 一本大道久久a久久综合婷婷| 制服丝袜亚洲色图| 欧美一区二区视频在线观看2022| 国产精品久久免费看| 国产欧美一区视频| 视频一区视频二区中文字幕| 国产原创一区二区| 精品视频在线视频| 欧美大片一区二区三区| 一区二区三区四区在线免费观看| 久久99久久精品欧美| 麻豆极品一区二区三区| 91原创在线视频| 精品国产一二三| 亚洲福利电影网| 99久久精品国产导航| 欧美大度的电影原声| 夜夜精品视频一区二区| 久久成人综合网| 91在线精品一区二区三区| 日韩写真欧美这视频| 亚洲女与黑人做爰| 粉嫩av一区二区三区| 欧美电视剧免费全集观看| 亚洲国产精品久久久久婷婷884 | 婷婷国产在线综合| 9人人澡人人爽人人精品| 欧美xxx久久| 青青国产91久久久久久| 欧美卡1卡2卡| 亚洲大尺度视频在线观看| 99re视频精品| 亚洲同性同志一二三专区| 国产69精品久久久久毛片| 久久久精品免费观看| 激情深爱一区二区| 精品日产卡一卡二卡麻豆| 麻豆一区二区在线| 日韩精品一区二区三区在线观看| 视频一区在线播放| 欧美一级爆毛片| 久久爱另类一区二区小说| 欧美va天堂va视频va在线| 蜜臀av一区二区| 欧美xfplay| 国产91精品入口| 亚洲欧美日韩在线不卡| 色综合欧美在线视频区| 伊人一区二区三区| 91亚洲精品一区二区乱码| 亚洲色图视频网站| 色呦呦国产精品| 亚洲国产精品精华液网站| 69堂精品视频| 韩国女主播成人在线| 精品国产乱码久久久久久闺蜜| 国产尤物一区二区| 国产精品欧美一区二区三区| av在线一区二区三区| 亚洲一区二区偷拍精品| 欧美精品一卡二卡| 国产在线播放一区三区四| 国产精品国产三级国产aⅴ原创| www.色精品| 免费看黄色91| 亚洲日本一区二区| 欧美裸体bbwbbwbbw| 国产麻豆91精品| 一区二区成人在线| 欧美一区二区三区在线电影 | 成a人片国产精品| 一区二区三区精品在线| 欧美一区二区三区四区视频| 国产乱码字幕精品高清av| 自拍偷拍欧美精品| 欧美一区二区三区婷婷月色| 丁香激情综合五月| 性做久久久久久免费观看 | 懂色av中文一区二区三区| 亚洲精品一二三四区| 日韩欧美色综合| 97超碰欧美中文字幕| 日本不卡一区二区三区| 中文字幕不卡在线| 日韩一区二区三区在线观看| 96av麻豆蜜桃一区二区| 久久国产精品第一页| 亚洲激情校园春色| 国产日韩欧美不卡在线| 91精品在线一区二区| av亚洲产国偷v产偷v自拍| 久久成人免费日本黄色| 亚洲一级在线观看| 国产精品久久久久久久久免费樱桃| 欧美日韩精品一区二区天天拍小说 | 成人av动漫网站| 美腿丝袜亚洲色图| 亚洲国产日韩在线一区模特 | 精品国产99国产精品| 91成人在线免费观看| 成人av午夜影院| 国产剧情一区二区| 男男视频亚洲欧美| 水蜜桃久久夜色精品一区的特点| 亚洲私人影院在线观看| 久久精品男人的天堂| 欧美精品一区二区在线观看| 7777精品伊人久久久大香线蕉超级流畅| 成人听书哪个软件好| 国产精品一区专区| 精东粉嫩av免费一区二区三区| 亚洲电影视频在线| 亚洲综合免费观看高清完整版| 1024成人网| 亚洲欧美二区三区| 亚洲日本va午夜在线影院| 亚洲欧美综合网| 亚洲欧美日韩系列| 亚洲欧美日韩在线播放| 亚洲欧洲另类国产综合| 中文字幕一区二区5566日韩| 国产精品久久久99| 亚洲女女做受ⅹxx高潮| 亚洲视频免费看| 亚洲影院理伦片| 日韩高清不卡一区二区| 美女久久久精品| 精品无码三级在线观看视频| 国产九色精品成人porny| 福利一区二区在线观看| 国产成+人+日韩+欧美+亚洲| 成人综合婷婷国产精品久久| 91最新地址在线播放| 欧美怡红院视频| 日韩午夜三级在线| 国产亚洲一区字幕| 中文字幕一区二区日韩精品绯色| 一区二区在线免费观看| 五月天精品一区二区三区| 麻豆91小视频| 成人av集中营| 欧美久久久久久久久久| 欧美大片在线观看一区| 中文字幕一区二| 首页国产欧美日韩丝袜| 国产精品99久久久久久久vr| 91亚洲午夜精品久久久久久| 欧美日韩三级一区二区| 国产亚洲女人久久久久毛片| 亚洲人成网站影音先锋播放| 丝袜亚洲另类欧美综合| 丁香婷婷综合网| 91精品国产色综合久久不卡电影 | 一区二区三区色| 国产在线一区观看| 91国偷自产一区二区使用方法| 91精品国产色综合久久久蜜香臀| 国产日本一区二区| 五月综合激情婷婷六月色窝| 国产成人免费视频精品含羞草妖精 | 成人性生交大片免费看中文| 欧美久久一区二区| 国产精品色呦呦| 久久99精品网久久| 色一区在线观看| 国产女人aaa级久久久级| 午夜精品影院在线观看| 99国产欧美久久久精品| 精品国产第一区二区三区观看体验| 亚洲一区二区精品3399|