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

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

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

Visual Basic 6.0 - Ура!!


Ура!!

DK> http://mastershome.net.ru/vbfaq/

Дима, шикарно. Hадеюсь, у тебя хватит терпения этим постоянно заниматься.


* Origin: 1134 (2:5045/44.13)

Работа с файлами

AP> Какой нужен код чтобы прога копировала конкретный файл в конкретную

AP> папку. И в догонку где можно скачять MSDN.

1. FileCopy
WinAPI CopyFile

2. msdn.microsoft.com


* Origin: 1134 (2:5045/44.13)

RVB.FAQ

DK> В связи с обретением эхотажным faq-ом постоянного местопроживания

DK> эхоконференция RU.VISUAL.BASIC.FAQ утрачивает актуальность и будет

DK> снесена. Интернетчики урлу уже знают, а фидошникам могу высылать фак

DK> нетмейлом.

Да здравствует разум.

ps. Может faq следует дополнить всякими мелкими трюками, которые и все спрашивают, и внимания никто не обращает, ту же работу с binary файлами, или описание функций типа split и replace как неоценимой помощи в создании парсеров.

* Origin: 1134 (2:5045/44.13)

Защита

AA> Это все. Подробностей не имею. Так как и понятия, как это можно было

AA> бы организовать в эхотаге.

Ковырять исходники dos-навигатора и в нагрузку давать еще одну программу...


* Origin: 1134 (2:5045/44.13)

быстрое преобразование строки в массив байт

>> а просто, что-то вроде

>> dim x() as byte

>> x = mystr$

SM> Так ведь именно так оно и работает.

По-моему, я знаю, чего говорю. Именно так оно и не работает.


SM> Вышеприведенный код скопирует строку mystr в массив байт x. Поскольку

SM> VB хранит строки в кодировке Unicode, в массив запишется строка

SM> именно в этой кодировке. Если же нужна строка в кодировке ANSI,

SM> следует применять функцию StrConv:

SM> x = StrConv(mystr, vbFromUnicode)

А вот это уже не мысль. Это идея. Спасибо.


>> Естественно, без использования функций типа mid$, ибо на celeron

>> 2200 побайтовая обработка 700 кб файла через mid$ заняла более

>> получаса а через массив байт - менее секунды.

SM> А что за обработка, если не секрет? Может, ее надо иначе

SM> оптимизировать? Функция Mid работает, конечно, медленнее, чем доступ к

SM> элементу массива по индексу, но не настолько.


Hастолько.

700-тыс вырезаний символа - это 700тыс обращений к строке длиной 700тыс. Думайте сами, решайте сами, поиметь или не поиметь.

ps. Hу плюс IDE, в компилированном виде это побыстрее-бы было
* Origin: 1134 (2:5045/44.13)

Re: Пpивязка к системномy таймеpy.

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

18 Mar 04 23:25:27 в RU.VISUAL.BASIC Artem Prokhorov -> All:


AP> Вопpос такой. Как осyществить пpивязкy к системномy таймеpy.

AP> Т.е. гpyбо говоpя, как сделать так, чтобы на pазных машинах, с pазными

AP> пpоцессоpами пpогpамма с гpафическим выводом шла с одинаковой скоpостью.

AP> Сейчас междy вызовами основных пpоцедyp пpосто делается Tread.Sleep(n),

AP> где n - пpедyстановленная задеpжка в миллисекyндах, что вовсе не есть гyд.


Чуть-чуть изменю твое решение: а если замораживать основную нить из другой,
вспомогательной?

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

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

Re: RVB.FAQ

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

19 Mar 04 09:29:01 в RU.VISUAL.BASIC Roman Yuakovlev -> мне:


DK>> В связи с обретением эхотажным faq-ом постоянного местопроживания

DK>> эхоконференция RU.VISUAL.BASIC.FAQ утрачивает актуальность и будет

DK>> снесена. Интернетчики урлу уже знают, а фидошникам могу высылать фак

DK>> нетмейлом.

RY> Да здравствует разум.


:)

RY> ps. Может faq следует дополнить всякими мелкими трюками, которые и все

RY> спрашивают, и внимания никто не обращает, ту же работу с binary файлами,

RY> или описание функций типа split и replace как неоценимой помощи в создании

RY> парсеров.


Принято, сенкс.

RY> --- ...две насти рулез...


:)

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

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

Re: событие, происходящее при наведении мыши на часы в трее

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

19 Mar 04 09:47:08 в RU.VISUAL.BASIC Roman Yuakovlev -> All:


RY> Как поймать сабж?


Алгоритм тот же, что и для клика. Допустим, ты в форме пишешь:


Select Case ScaleX(X, Me.ScaleMode, vbPixels)
Case WM_LBUTTONDOWN
' клик левой кнопкой
Case WM_RBUTTONDOWN
' клик правой кнопкой
End Select

End Sub

Экспериментально установлено, что при проведении мышкой над иконкой тоже
генерируется событие, при котором x равен WM_MOUSEMOVE.

А ты это хочешь сделать случаем не для показа своей всплывающей подсказки?

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

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

BadCopy

H!, _[Roman]_!
RY> on error resume next

RY> open "lalala" for binary

Спасибо, нет ли полного пpимеpа в тыpнете может?


g'bye and g'luck, _[Roman]_!
* Origin: Down/Upload Soft - [SVALKA.TK] (2:5054/29.33)

Re: событие, происходящее при наведении мыши на часы в трее

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

20 Mar 04 08:37:09 в RU.VISUAL.BASIC Roman Yuakovlev -> мне:


RY>>> Как поймать сабж?

DK>> Алгоритм тот же, что и для клика. Допустим, ты в форме пишешь:

RY> Дима, стой. Подожди.


RY> Hе в иконке в трее, у мя на нее класс есть - обэвэнтись нехочу, а именно у

RY> ЧАСОВ.


Мда, это плохо. Hасколько я помню, стандартными методами (SetWindowLong)
сабклассить окна чужих процессов нельзя. :( Т.е. придется писать хук на сях
(или воспользоваться уже готовым, например, видел что-то подобное на
vbrussian).

DK>> А ты это хочешь сделать случаем не для показа своей всплывающей

DK>> подсказки?

RY> Ты будешь смеяться, но вот тут ты прав. ;)


Раз уж пошла такая пьянка, то можно вместо стандартного прямоугольника
воспользоваться balloon - тултипами а-ля офис из набора comctl. С ними
разбирался Аркадий Оловянников, кажется, на том же сайте был его пример.

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

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