?? main.cpp
字號(hào):
//---------------------------------------------------------------------------
//名稱:Windows系統(tǒng)OEM信息設(shè)置 1.0
//作者:石書義
//環(huán)境:C++ Builder 6.0 + SuiPack_v5.8(控件) + WINXP_SP2 + Microsoft Office Access 2003
//版權(quán):免費(fèi)軟件(包含代碼),但是未經(jīng)作者同意不得將此代碼用于任何商業(yè)目的!
#include <vcl.h>
#pragma hdrstop
#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SUIForm"
#pragma link "SUIPageControl"
#pragma link "SUITabControl"
#pragma link "SUIStatusBar"
#pragma link "SUIButton"
#pragma link "SUIDBCtrls"
#pragma link "SUIPopupMenu"
#pragma link "trayicon"
#pragma link "SUIEdit"
#pragma link "SUIMemo"
#pragma link "SUIComboBox"
#pragma link "SUIDlg"
#pragma link "SUIURLLabel"
#pragma resource "*.dfm"
TFormMain *FormMain;
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
GetIncName() ; //得到公司名稱列表
GetWinDir() ; //得到系統(tǒng)路徑
GetOEMInfo(WinDir) ; //得到系統(tǒng)OEM信息
}
//---------------------------------------------------------------------------
//配置數(shù)據(jù)庫(kù)
void TFormMain::DeployDatabase()
{
//
}
//---------------------------------------------------------------------------
//得到系統(tǒng)路徑
void TFormMain::GetWinDir()
{
char *dir ;
dir = new char[20] ;
GetWindowsDirectory(dir,20) ;
WinDir = AnsiString(dir) + "\\system32\\" ;
delete dir ;
}
//---------------------------------------------------------------------------
//**********************************右鍵菜單*********************************
//---------------------------------------------------------------------------
//顯示主界面
void __fastcall TFormMain::ShowFormClick(TObject *Sender)
{
GetOEMInfo(WinDir) ;
Application->Restore() ;
if(suiPageControl->ActivePage == suiTabSheetAbout)
suiStatusBar->Panels->Items[0]->Text = suiFormMain->Caption ;
}
//---------------------------------------------------------------------------
//退出程序
void __fastcall TFormMain::ExitClick(TObject *Sender)
{
Close() ;
}
//---------------------------------------------------------------------------
//******************************品牌OEM信息設(shè)置******************************
//---------------------------------------------------------------------------
//選擇電腦的品牌
void __fastcall TFormMain::suiComboBoxIncChange(TObject *Sender)
{
ADOTable1->First() ;
ADOTable1->MoveBy(suiComboBoxInc->ItemIndex) ;
}
//---------------------------------------------------------------------------
//刪除選定的OEM信息
void __fastcall TFormMain::suiBtnDeleteClick(TObject *Sender)
{
if(!ADOTable1->Eof)
{
suiMessageDialogMain->Text = "確認(rèn)刪除" + DBEditInc->Text + " OEM 信息!" ;
if(suiMessageDialogMain->ShowModal() == mrOk)
{
ADOTable1->Delete();
}
}
suiStatusBar->Panels->Items[0]->Text = DBEditInc->Text + "OEM 信息已從數(shù)據(jù)庫(kù)中刪除!" ;
GetIncName() ;
}
//---------------------------------------------------------------------------
//應(yīng)用OEM信息設(shè)置
void __fastcall TFormMain::suiBtnApplyClick(TObject *Sender)
{
suiMemoTemp->Clear() ;
suiMemoTemp->Lines->Add("[General]");
suiMemoTemp->Lines->Add("Manufacturer=" + suiDBEditInc->Text) ;
suiMemoTemp->Lines->Add("Model=" + suiDBEditModel->Text) ;
suiMemoTemp->Lines->Add("[Support Information]") ;
for(int i = 0 ; i < suiDBMemoInfo->Lines->Count ; i ++)
suiMemoTemp->Lines->Add("Line" + IntToStr(i+1) + "="
+ suiDBMemoInfo->Lines->Strings[i]) ;
suiMemoTemp->Lines->SaveToFile(WinDir + "oeminfo.ini") ;
ADOTable1DSDesigner5->SaveToFile(WinDir + "oemlogo.bmp") ;
suiStatusBar->Panels->Items[0]->Text = suiComboBoxInc->Items->Strings[suiComboBoxInc->ItemIndex]
+ " OEM 信息設(shè)置完成!" ;
}
//---------------------------------------------------------------------------
//得到公司名稱列表
void TFormMain::GetIncName()
{
suiComboBoxInc->Items->Clear() ;
ADOTable1->First() ;
for(int i = 0 ; ; i ++)
{
suiComboBoxInc->Items->Add(DBEditInc->Text) ;
ADOTable1->Next() ;
if(suiComboBoxInc->Items->operator [](i) == DBEditInc->Text)
break ;
}
ADOTable1->First() ;
suiComboBoxInc->ItemIndex = 0 ;
}
//---------------------------------------------------------------------------
//******************************自定義OEM信息設(shè)置****************************
//---------------------------------------------------------------------------
//清除計(jì)算機(jī)OEM信息設(shè)置
void __fastcall TFormMain::suiBtnCancelClick(TObject *Sender)
{
if(DeleteFile(WinDir + "oeminfo.ini") && DeleteFile(WinDir + "oemlogo.bmp"))
suiStatusBar->Panels->Items[0]->Text = " OEM 設(shè)置信息清除完畢!" ;
else
suiStatusBar->Panels->Items[0]->Text = " 計(jì)算機(jī)沒(méi)有設(shè)置 OEM 信息!" ;
ImageLogo->Picture->Assign(NULL) ;
GetOEMInfo(WinDir) ;
}
//---------------------------------------------------------------------------
//選擇自己的LOGO
void __fastcall TFormMain::suiBtnLogoClick(TObject *Sender)
{
if(OpenPictureDialogLogo->Execute())
{
ImageLogo->Picture->LoadFromFile(OpenPictureDialogLogo->FileName) ;
GetOEMInfo(OpenPictureDialogLogo->FileName.SubString(1,OpenPictureDialogLogo->FileName.LastDelimiter("\\"))) ;
}
}
//---------------------------------------------------------------------------
//添加自定義OEM信息到數(shù)據(jù)庫(kù)
void __fastcall TFormMain::suiBtnInsertClick(TObject *Sender)
{
if(suiInputDialogMain->ShowModal() == mrOk && suiInputDialogMain->ValueText != "")
{
ADOTable1->Insert() ;
DBEditInc->Text = suiInputDialogMain->ValueText ;
suiDBEditInc->Text = suiEditInc->Text ;
suiDBEditModel->Text = suiEditModel->Text ;
suiDBMemoInfo->Lines = suiMemoInfo->Lines ;
DBImageLogo->Picture = ImageLogo->Picture ;
ADOTable1->Insert() ;
suiStatusBar->Panels->Items[0]->Text = "自定義 OEM 信息已添加到數(shù)據(jù)庫(kù)!" ;
GetIncName() ;
}
}
//---------------------------------------------------------------------------
//應(yīng)用自定義OEM信息設(shè)置
void __fastcall TFormMain::diyBtnApplyClick(TObject *Sender)
{
suiMemoTemp->Clear() ;
suiMemoTemp->Lines->Add("[General]");
suiMemoTemp->Lines->Add("Manufacturer=" + suiEditInc->Text) ;
suiMemoTemp->Lines->Add("Model=" + suiEditModel->Text) ;
suiMemoTemp->Lines->Add("[Support Information]") ;
for(int i = 0 ; i < suiMemoInfo->Lines->Count ; i ++)
suiMemoTemp->Lines->Add("Line" + IntToStr(i+1) + "="
+ suiMemoInfo->Lines->Strings[i]) ;
suiMemoTemp->Lines->SaveToFile(WinDir + "oeminfo.ini") ;
ImageLogo->Picture->SaveToFile(WinDir + "oemlogo.bmp") ;
suiStatusBar->Panels->Items[0]->Text = "自定義 OEM 信息設(shè)置完成!" ;
GetOEMInfo(WinDir) ;
}
//---------------------------------------------------------------------------
//得到系統(tǒng)OEM信息
void TFormMain::GetOEMInfo(String Dir)
{
try
{
suiMemoTemp->Clear() ;
suiMemoInfo->Clear() ;
if(FileExists(Dir + "oemlogo.bmp"))
ImageLogo->Picture->LoadFromFile(Dir + "oemlogo.bmp") ;
if(FileExists(Dir + "oeminfo.ini"))
suiMemoTemp->Lines->LoadFromFile(Dir + "oeminfo.ini") ;
suiEditInc->Text = GetINIInfo("General","Manufacturer",Dir + "oeminfo.ini") ;
suiEditModel->Text = GetINIInfo("General","Model",Dir + "oeminfo.ini") ;
for(int i = 0 ; i < suiMemoTemp->Lines->Count ; i ++)
{
if(suiMemoTemp->Lines->Strings[i] == "[Support Information]")
{
for(int j = 1 ; j < suiMemoTemp->Lines->Count - i ; j ++)
suiMemoInfo->Lines->Add(GetINIInfo("Support Information","Line" + IntToStr(j),Dir + "oeminfo.ini")) ;
}
}
}
catch(Exception &exception)
{
// ImageLogo->Picture->Assign(NULL) ;
suiEditInc->Text = "" ;
suiEditModel->Text = "" ;
suiMemoInfo->Clear() ;
}
}
//---------------------------------------------------------------------------
//得到ini文件信息
String TFormMain::GetINIInfo(String Node,String KeyName,String IniFileName)
{
char keyvalue[128];
GetPrivateProfileString(
Node.c_str(), //[]中節(jié)的名稱
KeyName.c_str(), //=號(hào)前的鍵名
"", //如果沒(méi)有找到字符串時(shí),返回NULL
keyvalue, //存放取得字符串
128, //取得字符的允許最大長(zhǎng)度
IniFileName.c_str() //.INI文件名
);
return AnsiString(keyvalue) ;
}
//---------------------------------------------------------------------------
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -