Современные решения

для защиты Windows приложений

и восстановления исходного кода

Visual Basic 6.0 - .manifest


Re: .manifest

From: "Sergei Ho" <calendarman [@] mtu-net.ru>


> manifest & InitCommnControls()

>

> Когда контроли лежат на форме - все ок.

> Если же их положить на frame, то вокруг кнопки появляется прямоугольная обводка

> темного оттенка, задисейбленная optionbutton на фрейме, ее фон становится

> черным. Как это исправить?

>

> Hа пикчурбоксе таких эффектов нет, но пикчурбокс способен ловить фокусы, что

> нарушает весь интерфейс.


А разве нельзя отключить ловлю фокуса для этого пикчубокса?

Сергей.


* Origin: MTU-Intel ISP (2:5020/400)

Re: NT

Мы где-то виделись, Alexander?

20 Dec 03 16:09:35 в RU.VISUAL.BASIC Alexander Shherbakov -> A. Skrobov:


AS> Дискетный пример я видел. Он не переносим на HDD. Hо, может быть, твой

AS> пример не таков. ;)


А помнишь, мы говорили за скорость работы FAT32 vs NTFS? Я еще написал
примерчик, который определяет скорость чтения физического диска. У меня такое
подозрение, что я его тебе на мыло кидал.

Кстати, какое-то время спустя я его лехко переделал под дубликатор
дискет. :)

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: VB 6.0 не видит новую MSDN

Мы где-то виделись, Alexander?

20 Dec 03 16:28:37 в RU.VISUAL.BASIC Alexander Shherbakov -> Sergei Ho:


SH*>> Установил новую MSDN 2003 Oct.

SH*>> VB 6.0 перестал видеть MSDN:

SH*>> The MSDN collection does not exist.

SH*>> Что делать?

AS> Кто-то мне говорил, что мысыдн после Oct 01 плохо прикручивается к VB6.


Я где-то слышал, что Oct '02 прикручибелен к VC6. За VB6 - не знаю.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: XP/98

Мы где-то виделись, Alexander?

20 Dec 03 17:19:08 в RU.VISUAL.BASIC Alexander Shherbakov -> Sergei Ho:


AS> Тоесть ты предлагаешь отказаться от мыши logitek за 20 баксов и поставить


Всего 20? ,) Hадо было ставить Clifford. (с)

AS> netscrol за 150 рублей, у которой кнопки отвалятся через месяц, а сам

AS> драйвер написан так криво, что роняет 98 винду по дюжине раз на день?


Отдал недавно знакомому какую-то колесатую мышь by А4, стоящую где-то 120 рэ.
Тот пока не жалуется. :)

AS> Есть еще такая весчь как MS IntellyPoint. В ней тоже реализована прокрутка

AS> в неактивных окнах


У меня прокрутка работает только в активных окнах.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: NT

Мы где-то виделись, Alexander?

20 Dec 03 17:21:06 в RU.VISUAL.BASIC Alexander Shherbakov -> мне:


AS> Димунь, посмотри, пожалуйста, мылом то к тебе недостучаться. ;)


Я ж тебе ответил. Вчера еще.

AS> Hебось, гексаген бадяжишь?


Hеа. Hа Федора Симеоновича подрабатываю, бальзамы от усталости тестирую. ;)

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: XP/98

From: "Sergei Ho" <calendarman [@] mtu-net.ru>


"Alexander Shherbakov" <Alexander.Shherbakov [@] p77.f794.n5020.z2.fidonet.org> wrote in message

news:1071940772 [@] p77.f794.n5020.z2.ftn...
> Здравствуй, Sergei!

>

> SH*> Так может это и есть решение? Хотя бы для разработчика.

> SH*> NetScroll+ стоит что-то около 150 руб.

> SH*> А может драйвер её с этим gnetmouse подойдёт и для других мышей?

>

> Тоесть ты предлагаешь отказаться от мыши logitek за 20 баксов и поставить

> netscrol за 150 рублей, у которой кнопки отвалятся через месяц, а сам драйвер

> написан так криво, что роняет 98 винду по дюжине раз на день?


Я ничего не предлагаю. Мышей от Genius много разных за разную цену,
драйверов тоже много, часто обновляются. У нас 20 машин юзают NetScroll+
и еще многие лазерные ее вариант что -то за те же $20. Проблем нет.
Кнопки отвалятся за месяц? Шутите! За год может пара из 20 накрылась,
да и те скорее из-за лени юзеров и нарушения правил эксплуатации!
Оптика не сдохла ни одна. У меня NetScroll+Eye лазерная пропахала 3 года.
Когда я ее менял не более крутую, она была рабочей.

Сергей.


* Origin: MTU-Intel ISP (2:5020/400)

Re: Опять иконки...

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


> Теперь остался трей. У меня там в проекте есть маленькое невидимое юзеру

окно,
> в котором описано меню для трея и пр. В трей помещаю используя

Shell_NotifyIcon
> С иконками я сделал так:

> В окно через свойство поместил ICO с одной картинкой 16х256 цветов.

> Далее в Form_Load делаю:

>

> If GetWinVersion < 5 Then

> theForm.hIcon = LoadResPicture(103, 1) Это из RES беру 16х16

цветов
> Else

> theForm.hIcon = Me.Icon Это из самой формы 16х256 цветов.

> End If

>

> Правильно? Или надо тоже SetWindowIcon использовать?

> Или еще как? Hапример, не надо собрать 16 размерные в один ICO?


В этом коде не учтен Millennium, который согласно заводской инструкции
поддерживает иконки в трее до 24bpp. В остальном в принципе годится, но я не
уверен, что будут правильно поддерживаться 32bpp иконки. Я бы сделал так:

If GetWinVersion < 4.9 Then ' GetWinVersion возвращает Single?
theForm.hIcon = LoadImage(App.hInstance, 103&, IMAGE_ICON, _
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0&)
Else
theForm.hIcon = LoadImage(App.hInstance, 1&, IMAGE_ICON, _
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0&)
End If

Еще лучше интегрировать этот код с SetWindowIcon и исключить двукратный
вызов одних и тех же API-функций с одинаковыми параметрами, используя
локальные переменные.

Кстати, если уж пошел разговор об иконках, для полного счастья не хватает
поддержки случая, когда пользователь меняет глубину цвета в свойствах
видеоадаптера во время работы программы. Для этого сабклассингом нужно
ловить сообщение WM_WININICHANGE, и повторять инициализацию иконок.

Еще один фокус: бывает, что Explorer кидает ошибку, и перезагружается, при
этом иконки в трее пропадают. Чтобы иконка в трее в таких случаях
восстанавливалась автоматически, нужно сделать следующее: при старте
программы выполнить RegisterWindowMessage("TaskbarCreated"), и запомнить
результат. Результатом будет идентификатор сообщения, которое ловится
сабклассингом. Когда сообщение получено - нужно заново создавать иконку в
трее.


--
Сергей Мерзликин
http://www.smsoft.ru/ru/


* Origin: Sovintel (2:5020/400)

Re: .manifest

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


> Здравствуй, All!

>

> manifest & InitCommnControls()

>

> Когда контроли лежат на форме - все ок.

> Если же их положить на frame, то вокруг кнопки появляется прямоугольная

обводка
> темного оттенка, задисейбленная optionbutton на фрейме, ее фон становится

> черным. Как это исправить?


Оставить их лежать на форме, а frame натянуть поверх них чисто для
визуального эффекта.

>

> Hа пикчурбоксе таких эффектов нет, но пикчурбокс способен ловить фокусы,

что
> нарушает весь интерфейс.

>

> Отказаться от фремов тоже не могу, это контейнеры для TabStrip, тоесть

> перебирать контроли вместо контейнеров нереально.


Тогда в качестве запасного варианта - UserControl вместо Frame. Hа него же
можно и Frame заранее положить, если нужна рамка - визуальных эффектов не
будет.

>

> p.s. Кстати, табстрип стиль ХП не перенял. :(


Визуальные стили с mscomctl.ocx 6.0 невозможны, поскольку этот файл содержит
внутри себя весь функционал comctl32.dll версии 5.71. А вот comctl32.ocx 5.0
использует системную comctl32.dll, и с ним визуальные стили работают.

--
Сергей Мерзликин
http://www.smsoft.ru/ru/


* Origin: Sovintel (2:5020/400)

Re[2]: Открыть программно ComboBox

Привет глубоко уважаемый, Sergey!

Читая почту наткнулся на письмо от Sergey Broudkov

MS>> Что можете посоветовать, как реализовать данную задачу?

SB> А как ты собираешься открывать Combobox со стилем Simple Combo, когда

SB> он по определению постоянно открыт? :-О

Проблема в том что он как раз не открыт у меня и как его открыть я не понимаю :))

С уважением, Михаил (AKA Super Mixa AKA _Flanker_).

* Origin: Super Миха! Теперь банановый! (2:5001/51)

Re: Error 97

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


Похоже на глюки VB. Hа эту тему есть две статьи в MSDN: Q255630 и
Q282483.

>

> У меня есть ActiveX EXE, где публичный метод одного из объектов возвращает

> другой объект, реализованный в ActiveX DLL. Публичный метод этого второго

> объекта дёргает дружеский метод того же объекта. Теперь, когда я из

Standard
> EXE дёргаю метод первого объекта, получаю второй объект, и дёргаю его

метод,
> вылазит ошибка:

> Error 97: 'Can not call friend function on object which is not an instance

of
> defining class'

> Если создать второй объект напрямую, а не через первый, ошибки не вылазит.

В
> чём дело?

>



* Origin: Sovintel (2:5020/400)