Модератор: BV
Dim Tmp As String
If App.PrevInstance = True Then End ' Проверяю на повторный запуск.
If IsFolder(Replace(App.Path & "\", "\\", "\") & "Language") = False Then MsgBox "No language packs found. Program will be terminated.", 16, "No language packs": End 'Проверяю наличие папки с языками
QuickLicenseCheck 'Функция быстро проверяет есть ли лицензия.
LoadToolbar 'Функция загружает специальный Toolbar в главном окне.
DoLangList 'Функция строит список доступных языков
NowLang = GetINI(Replace(App.Path & "\Config.ini", "\\", "\"), "General", "Language", "English") ' Текущий язык читается из INI-файла
ChangeLang ' Функция меняет язык интерфейса на текущий
CheckForLicense 'Функция проверяет лицензию пользователя
'Если эта функция не находит её, то загружает nag-screen (форма FrmBuy)
Do While frmBuy.Visible = True 'Пока пользователь работает с nag-screen-ом ждём...
DoEvents
Loop
If IsReg = False Then 'Если у пользователя нет лицензии то...
If IsBuyOK = False Then End 'IsBuyOK равен True, если юзер в nag-screen-е нажал на кнопку "Далее". Добавлено, благодаря FleX_2004
End If
Me.Show 'Показываю главное окно
If GetINI(Replace(App.Path & "\Config.ini", "\\", "\"), "General","FirstStart", "Yes") <> "No" Then frmLang.Show: Me.Hide 'Если нет языка по умолчанию (1 запуск), то показываю окно выбора языка (FleX_2004, только сейчас заметил, что главную форму надо было показывать после. Теперь залотаю.)
Do While frmLang.Visible = True 'Пока пользователь работает с окном выбора языка
DoEvents
Loop
If IsReg = False Then 'Если у пользователя нет лицензии то...
If IsBuyOK = False Then End 'IsBuyOK равен True, если юзер в nag-screen-е нажал на кнопку "Далее". Добавлено, благодаря FleX_2004
End If
LoadMnuPics 'Функция создаёт иконки в меню программы
LoadLogos 'Функция загружает фоновой рисунок, по текущему языку
CloseProg GetProcIDFromName("regmon.exe") 'На всякий случай прикрываю Registry Monitor
CloseProg GetProcIDFromName("filemon.exe") 'На всякий случай прикрываю File Monitor
CloseProg GetProcIDFromName("ahui.exe") 'На всякий случай прикрываю ещё один отладчик
sndPlaySound Replace(App.Path & "\", "\\", "\") & "Resources\Startup.wav", 3 'Проигрываю звук при старте программы
End If
If GetINI(Replace(App.Path & "\Config.ini", "\\", "\"), "General", "Mode", "") = "" Then 'Если не выбран метод работы с неустраненными проблемами, то показываю окно этих настроек
frmMode.Visible = True
Do While frmMode.Visible = True 'Ждём пока юзер работает с этим окном
DoEvents
Loop
If IsReg = False Then 'Если у пользователя нет лицензии то...
If IsBuyOK = False Then End End 'IsBuyOK равен True, если юзер в nag-screen-е нажал на кнопку "Далее". Добавлено, благодаря FleX_2004
End If
End If
OpenVirusBase 'Открываю свою антивирусную базу
If GetINI(Replace(App.Path & "\Config.ini", "\\", "\"), "General", "Backup", "0") = "1" Then BackupWork 'Если надо запускаю Backup-режим
If App.PrevInstance = True Then End ' Проверяю на повторный запуск.
DmitriyIT писал(а):Программа отличная, правда на мой взгляд все же не стоило включать столько функций в один продукт - все же Ad-Aware и Remover-ы по чистке adware/spyware лучше, по чистке дисков есть специализированные программы и т.п. Надо на мой взгляд или делать комплекс из программ, как сделано в любом коммерческом продукте (Norton System Works, System Mechanic, Fix-It Utilities, так далее) или развивать в первую одну из функций.
DmitriyIT писал(а):С коммерческой точки зрения потенциал у продукта хороший, но:
1. Регистрация и триал должны быть 100% рабочими. Лучше если они будет легко взламываемыми, но не глючащими, чем неуязвимыми и глючащими. У меня во время первого запуска выдало "15 days you may use it" - я ничего не нажал (ни Try, ни Buy) и вышел (нажав на важнейший элемент окна - крестик ) затем при следующем запуске получил "0 days you may use it"
DmitriyIT писал(а):Однако с помощью программ FileMon и RegMon была установлена следующая последовательность действий по восстановлению/взлому триала программы (подробные инструкции, разумеется, не пишу - хотя кстати может даже некоторые из этих действий не нужны):
1) Удалить один ключ из HKEY_CLASSES_ROOT\Licenses, и может еще один ключ.
2) Удалить один файл, начинающийся на D.
3) Переустановить программу.
4) 15 дней снова с нами
DmitriyIT писал(а):2. Программа ни в коем случае не должна ничего рушить хотя бы в 90% случаев. А то у меня даже полностью нормальные программы она называла ad-aware - так что покупатель, нажав по незнанию на "Исправить все" может ужаснуться результату и заорать "Refund!!!! Give me my money back!" Этот фактор с одной стороны вреден - большинство текущих утилит не рискуют трогать подозрительные файлы - но все же лучше, чем нанесение урона нормальных программам. Перефразируя известную фразу Томаса Джефферсона "Better one hundred guilty men go free than one innocent man be condemned", лучше оставить в живых пару-тройку адваров, чем убить любимую программу юзера как подозрительную.
DmitriyIT писал(а):Кстати, вирусы она находит в том числе и просто по существованию подозрительного файла? Например, если создать в папке Windows/System32 файл windows.exe, программа сообщит о вирусе Win32.HLLW.Showgame - несмотря на то, что в файле его нет (хотя этот файл - признак данного вируса, но в нем должно быть его тело); т.е. если бы это была нормальная программа, имени которой не повезло совпасть с именем файла вируса, ее убило бы?
DmitriyIT писал(а):А так по глубине поиска продукт превосходит многие коммерческие - надо только безопасность/надежность сильно увеличить.
Извините за критику - где есть - просто я сам уже не раз делал коммерческие проекты и сам иногда делал похожие ошибки - вот и решил поделиться мнением.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3