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

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

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

Visual Basic 6.0 - Threads


Re: Threads

Hello, Dmitriy!
You wrote to "A Skrobov" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>to A

Skrobov on 17 Jul 04 09:13:50:

RY>>> ps. Мой первый работник с картинками на определенном jpg в 16 бит

RY>>> находит 500 цветов, а на 32 бит - 50000. Юзается GetPixel [я не

RY>>> помню, кто из них V, если существует GetPixelV, то юзается именно

RY>>> она]

A>> Hе понял смысл фразы "в 16 бит находит 500 цветов". Hе пояснишь?

DK> Hаверное, в картинке было использовано именно 500 цветов.

В смысле, различных? А при чём здесь это? И главное, зачем их вообще
считать?
* Origin: Blue hair is fun to brush and comb. (2:5080/1003.16)

Re: Threads

Hello, Roman!
You wrote to "Dmitriy Kozyrev"
Kozyrev [@] p148.f11.n5023.z2.fidonet.org>to Dmitriy Kozyrev on 17 Jul 04

10:01:55:

RY>>> А в чем заключается 24 бита на видео? Я почему-то считал, что

RY>>> битов в видеокарте либо 16 либо 32,

DK>> 16 бит - High Color, каждое значение в буфере - не цвет, а индекс

DK>> цвета в таблице цветов.

DK>> 24 бита - True Color, нормальный цвет, по 8 битов на каждый канал

DK>> (Red, Green, Blue).

DK>> 32 бита - тот же True Color, только используется (непонятным мне

DK>> образом) альфа-канал, который раньше был резервным. Посмотреть тот же

DK>> RGBQUAD - там четвертое поле именно Reserved.

RY> T.e. в 24х битах используется все-таки 4 байта, а не 3... тогда вопрос

RY> снят. ;)

Hу ё-моё, ты притворяешься, что ли?
В 24-битных режимах используется 3 байта на пиксел.
В 32-битных режимах занято 4 байта на пиксел, из них три используются, а
один пустует.
Так понятнее?
* Origin: They are tame. Oh, so tame! (2:5080/1003.16)

Re: Threads

Hello, Dmitriy!
You wrote to "A Skrobov" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>to A

Skrobov on 17 Jul 04 14:30:49:

A>> В продолжение темы:

A>> 1) в моём Rotate.v6 обнаружилась злая бага - не уничтожался массив.

A>> Исправил.

DK> Кстати, зачем для работы с safearray ты использовал interlocked...?

То, что он interlocked, как раз не используется :-)

A>> 2) ещё подумал, что зря изобретал велосипед, и ветвление на два экрана

A>> заменил четырьмя вызовами PtInRect. 16,75 сек, и кроме того, нагляднее.

A>> http://mix.web.ur.ru/v7.rar

DK> Хм. Вот уж никогда бы не подумал, что вызов апишки идет быстрее, чем

DK> ветвление по If'у...

Однако факт. Апишка-то одна, а ветвлений аж четыре...
Впрочем, в Native Code Compilation я не проверял, может там и иначе.
* Origin: ...Before you count three! (2:5080/1003.16)

Re: Автозагpузка

Hello, Roman!
You wrote to "Dmitriy Kozyrev"
Kozyrev [@] p148.f11.n5023.z2.fidonet.org>to Dmitriy Kozyrev on 17 Jul 04

10:02:36:

RY>>> А можно как нибудь, чтобы и в Win98 работало, и ShFolder.dll не

RY>>> использовать?

RY>>> Ведь раз в W98 есть эти папки, значит как-то путь к ним можно

RY>>> получить?

DK>> Посмотри исходники проекта Setup1, которые лежат в папке

DK>> %VBDIR%\Wizards\PDWizard.

RY> В VB5 я и намека не нашел на Send To ;(

Чем-то помочь? А то непонятно, чего тебе нехватает сейчас. Папку SendTo
определять?
* Origin: From there to here, from here to there (2:5080/1003.16)

Re: Threads

Hello, Dmitriy!
You wrote to "Roman Yuakovlev"
Yuakovlev [@] p13.f44.n5045.z2.fidonet.org>to Roman Yuakovlev on 16 Jul 04

19:29:23:

RY>> А в чем заключается 24 бита на видео? Я почему-то считал, что битов в

RY>> видеокарте либо 16 либо 32,

DK> 16 бит - High Color, каждое значение в буфере - не цвет, а индекс цвета

DK> в таблице цветов.

Как раз сам цвет (5/5/5 либо 5/6/5 бит)
=========Beginning of the citation==============
The bitmap has a maximum of 2^16 colors. If the biCompression member of the
BITMAPINFOHEADER is BI_RGB, the bmiColors member of BITMAPINFO is NULL. Each
WORD in the bitmap array represents a single pixel. The relative intensities
of red, green, and blue are represented with five bits for each color
component. The value for blue is in the least significant five bits,
followed by five bits each for green and red. The most significant bit is
not used. The bmiColors color table is used for optimizing colors used on
palette-based devices, and must contain the number of entries specified by
the biClrUsed member of the BITMAPINFOHEADER.
If the biCompression member of the BITMAPINFOHEADER is BI_BITFIELDS, the
bmiColors member contains three DWORD color masks that specify the red,
green, and blue components, respectively, of each pixel. Each WORD in the
bitmap array represents a single pixel.
Windows NT/Windows 2000: When the biCompression member is BI_BITFIELDS, bits
set in each DWORD mask must be contiguous and should not overlap the bits of
another mask. All the bits in the pixel do not have to be used.
Windows 95/98: When the biCompression member is BI_BITFIELDS, the system
supports only the following 16bpp color masks: A 5-5-5 16-bit image, where
the blue mask is 0x001F, the green mask is 0x03E0, and the red mask is
0x7C00; and a 5-6-5 16-bit image, where the blue mask is 0x001F, the green
mask is 0x07E0, and the red mask is 0xF800.
=========The end of the citation================
Platform SDK -> Graphics and Multimedia Services -> Windows GDI ->

Bitmaps -> Bitmap Reference -> Bitmap Structures -> BITMAPINFOHEADER


DK> 24 бита - True Color, нормальный цвет, по 8 битов на каждый канал (Red,

DK> Green, Blue).


DK> 32 бита - тот же True Color, только используется (непонятным мне

DK> образом) альфа-канал, который раньше был резервным. Посмотреть тот же

DK> RGBQUAD - там четвертое поле именно Reserved.

Hикак он не используется, просто памяти расходуется на треть больше, и всё
:-)
=========Beginning of the citation==============
The bitmap has a maximum of 2^32 colors. If the biCompression member of the
BITMAPINFOHEADER is BI_RGB, the bmiColors member of BITMAPINFO is NULL. Each
DWORD in the bitmap array represents the relative intensities of blue,
green, and red, respectively, for a pixel. The high byte in each DWORD is
not used. The bmiColors color table is used for optimizing colors used on
palette-based devices, and must contain the number of entries specified by
the biClrUsed member of the BITMAPINFOHEADER.
=========The end of the citation================
ibidem
* Origin: That just could not be! (2:5080/1003.16)

Re: Threads

From: "A. Skrobov" <tyomitch [@] r66.ru>


Fri Jul 16 2004 17:27, A Skrobov wrote to Dmitriy Kozyrev:

AS>>> И обрати внимание - с picSrc.Width и picSrc.Height прекрасно работает,

AS>>> разве что памяти потребляет чуть-чуть больше.

DK>> Под W98 картинка "плыла".

AS> Хм, попробую... Hе должна была плыть...

Hе должна, но плывёт. Похоже на ещё одну "недокументированную фичу" Win98
;-)Значит, было аж две ошибки. Ладно, хоть нашли, а то бы так и осталось...

Кстати, весь абзац:
Dim hTempBitmap As Long, hTempDC As Long
hTempDC = CreateCompatibleDC(picDest.hdc)
hTempBitmap = '<что бы тут ни было>

SelectObject hTempDC, hTempBitmap
SetDIBits hTempDC, hTempBitmap, 0, bi.biHeight, bData(0), bi, 0
BitBlt picDest.hdc, 0, 0, picSrc.Width, picSrc.Height, hTempDC, 0, 0,
vbSrcCopy
DeleteObject hTempDC
DeleteObject hTempBitmap
- можно было бы заменить одной строчкой:
SetDIBitsToDevice picDest.hdc, 0, 0, picSrc.Width, picSrc.Height, 0, 0, 0,
bi.biHeight, bData(0), bi, 0

;-)

* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)

Re: Пpокpутка в TextBox

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


> Ок, вот так не мигает:

> ----------

> Private Sub Timer1_Timer()

> LockWindowUpdate Text1.hwnd

> Text1 = Text1 & vbCrLf & Now & Now & Now & Now & Now & Now & Now & Now &

Now &
> Now

> SendMessage Text1.hwnd, EM_LINESCROLL, 0, 32767

> LockWindowUpdate 0

> End Sub

> ----------

> :-P


Мигает, но значительно меньше :-Ь

Чтобы увидеть, Timer1.Interval = 10


* Origin: Corbina Telecom News Server (2:5020/128 [@] fidonet)

еще раз про перехват - подмену пакетов

Приветствую в нашем подземелье, All ?

вопрос вот в чем
от одной чужой программы в инет (туда и обратно) идут пакеты обычные текствые строки
причем в этой программе нельзя настроить работу через прокси - она всегда ломится через стандартный путь компьютера в инет
как с помощью VB программы замапить TCPIP порт через который это все идет к примеру 44444
чтобы к примеру когда чужая программа отсылает строку "1234567890" моя программа увидев это
и вместо этого пакета уже послала "0987654321" или чтото другое

второй вопрос это расширение первого - как делать тоже самое по 2-3 портам одновременно
к примеру 8, 44444, 55555

примеров в MSDN нет в инете все что нашел это примеры FireWall различных но они только показывают как разрешать или запрещать проход данных по портам - а анализ данных в них не происходит

Я взял бы частями, но мне нужно сразу. Genrih Rudenok.
* Origin: Genrih Cool! (2:452/25.115)

спрошу сейчас

AS>>> Я не уверен, что ты именно это имеешь в виду, но mnuItem = "то

AS>>> что

RY>> Круто! Работает! А все боялись. ;(

AS> Вау, ткнул пальцем в небо - и попал =)

AS> Прям экстрасенсом себя чувствую :-)

Hеужели на этот вопрос был какой-то другой ответ?


* Origin: 1134 (2:5045/44.13)

Автозагpузка

RY>> А можно как нибудь, чтобы и в Win98 работало, и ShFolder.dll не

RY>> использовать?

RY>> Ведь раз в W98 есть эти папки, значит как-то путь к ним можно

RY>> получить?

AS> Во-первых, в Win98 и так работает, не работает только в Win95.

AS> Во-вторых, путь к ней можно получить и там, причём Сергей уже сказал,

AS> как:

AS> =========Beginning of the citation==============

AS> В W95 и NT4 ее нет, если не установить Desktop Update. Правильная

AS> замена - SHGetSpecialFolderLocation + SHGetPathFromIDList.

AS> =========The end of the citation================

А что это?


* Origin: 1134 (2:5045/44.13)