Петр, ты говорил, что как-то можно прикрутить к программе регистрацию по 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