Советы пользователям Delphi и C++Builder


             

Совет 2. Вывод информации о приложении на заставке


Если запустить какое-либо из приложений MS Office 97, на появляющейся при загрузке приложения заставке можно увидеть не только сведения о самом приложении, но также и регистрационный номер и фамилию пользователя. Как известно, эти сведения вводятся пользователем в процессе установки приложения, и в настоящее время принято хранить подобные сведения в реестре Windows. Если создать дистрибутив приложения с помощью наиболее часто используемого в нашей стране для этой цели средства InstallShield (или с помощью InstallShield Express, входящего в состав старших версий Delphi и C++Builder), в реестре Windows появится раздел, похожий на представленный на рис.3:

Рис. 3. Раздел реестра, создаваемый программой установки

В данном случае приложение MyApp версии 1.0 создано компанией Splash Screen Company, и при его установке были введены серийный номер 176-99027, а также имя пользователя и имя компании, в которой данный пользователь работает.

Если инсталляционное приложение создано не с помощью InstallShield, а с помощью иных средств (например, написано на Delphi или C++Builder), наименование раздела и ключей реестра могут отличаться от приведенных выше, но в любом случае они должны быть Вам известны.

Модифицируем нашу заставку так, чтобы на ней отображались содержащиеся в реестре имя пользователя и серийный номер. С этой целью добавим на созданную ранее форму две метки.

Рис. 4. Форма заставки после внесения изменений

Создадим обработчик события, связанный с созданием формы. В случае Delphi он имеет следующий вид:

procedure TForm2.FormCreate(Sender: TObject); var key,ser,usr:string; Reg:TRegistry; begin try Reg:=TRegistry.Create; key:='SOFTWARE\Splash Screen Company\MyApp\1.0'; Reg.Rootkey:= HKEY_LOCAL_MACHINE; Reg.OpenKey(key,false); usr:=Reg.ReadString('Name'); ser:=Reg.ReadString('Serial'); Label2.Caption:='Пользователь: '+usr; Label3.Caption:='Серийный номер: '+ser; Reg.CloseKey; Reg.Destroy; except Label2.Caption:='Unregistered user'; Label3.Caption:='Please register'; end; end;




Содержание  Назад  Вперед