Петр, ты говорил, что как-то можно прикрутить к программе регистрацию по ID. Ты бы мог подсказать куда капать? Может библиотеки какие нужны. Вот обычный пример:
Enumeration
#Window_0
#Window_1
EndEnumeration
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#MENU_1
#MENU_2
#MENU_4
#MENU_5
#MENU_7
#MENU_9
EndEnumeration
Enumeration
#Text_0
#Text_1
#String_0
#Text_2
#String_1
#Button_0
#Button_1
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 298, 191, 299, 168, "TextProgram", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateMenu(#MenuBar_0, WindowID(#Window_0))
MenuTitle("Файл")
MenuItem(#MENU_1, "Выход")
MenuTitle("Помощь")
MenuItem(#MENU_4, "Справка")
MenuBar()
MenuItem(#MENU_5, "Регистрация")
MenuBar()
MenuItem(#MENU_7, "О программе")
EndIf
If CreateGadgetList(WindowID(#Window_0))
TextGadget(#Text_0, 10, 5, 130, 15, "Не Зарегистрировано!")
EndIf
EndIf
EndProcedure
Procedure Open_Window_1()
If OpenWindow(#Window_1, 288, 246, 244, 89, "Reg...", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window_1))
TextGadget(#Text_1, 5, 10, 45, 15, "Ваш ID:")
StringGadget(#String_0, 60, 5, 170, 20, "")
TextGadget(#Text_2, 5, 40, 45, 15, "Ключ:")
StringGadget(#String_1, 60, 35, 170, 20, "")
ButtonGadget(#Button_0, 140, 60, 90, 25, "Регистрация")
ButtonGadget(#Button_1, 5, 60, 90, 25, "Отмена")
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat
event=WaitWindowEvent()
menu=EventMenu()
window=EventWindow()
If event=#PB_Event_Menu
Select menu
Case #MENU_5
DisableWindow(#Window_0,1)
Open_Window_1()
EndSelect
EndIf
If window=#Window_1
If Event = #PB_Event_CloseWindow
DisableWindow(#Window_0,0)
CloseWindow(#Window_1)
EndIf
EndIf
Until event=#PB_Event_CloseWindow And window=#Window_0