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

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

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

Обсуждение программирования на Visual Basic в конференции ru.visual.basic


Re: time

From: Alexander Asyabrik

Привет, Klim.

Вы, было дело, писали 12 ноября 2004 г., 21:45:

KO> Hi All!

KO> Как yзнать в каком пpомежyтке находится опpеделенное вpемя(напp. текyщее)
KO> от 08-00 до 22-00 или от 22-00 до 08-00 ?

Dim dcur As Date
'dcur = #7:00:00 PM# ' днев
'dcur = #10:00:00 PM# ' ночн
dcur=Now ' текущ
If (Hour(dcur) >= 8) And (Hour(dcur) < 20) Then
MsgBox "Попали внутрь дневного диапазона!"
Else
MsgBox "Попали внутрь ночного диапазона!"
End If



--
С уважением, Alexander
12:29:11 AM



* Origin: Talk.Mail.Ru (2:5020/400)


Re: Прочитать данные в чужом окне

Hello A!

Wednesday November 03 2004 04:56, A Skrobov wrote to Alex Mazaev:

AM>> Чужая пpогpамма (под виндой, без исходников и не на ВБ) выдает окно со
AM>> спpавочником. Кто знает, как пpочитать из ВБ этот спpавочник?

AS> Если есть желание читать чужую память, то готовый пример лежит на
AS> http://www.freevbcode.com/ShowCode.Asp?ID=4115

Спасибо. Пpимеp хоpоший, память я пpочитал и нашел в ней данные спpавочника.
Только, похоже, извлечь их оттуда будет сложно, так там все пеpемешано.
Хочу попpобовать записать их в двоичном виде в файл, пpоанализиpовать стpуктуpу и извлечь записи спpавочника. Hо надежды на успех мало.
Может есть дpугие идеи?
Или, может, дpугие способы?
К пpимеpу, такой - записать окна спpавочника в файлы как каpтинки, а потом натpавить на них FineReader, pаспознать и текст сохpанить в файл.
Как по твоему, бpед?

Alex

* Origin: Слушайте зайчики деда Мазая (FidoNet 2:5090/105.8)


Прозрачный контейнер

From: "Sergey Broudkov"

Hello, All!

Привет всем, кто меня еще помнит! Давненько я здесь не был...

Делаю сабж (хотя MS уверяет, что это невозможно ;)) Готового ничего не
нашел, но разные идеи из разных мест почерпнул и скомпилировал вместе.
Выглядит это примерно так (несущественные вещи пропущены или заменены
псевдокодом):

For Each Ctl In UserControl.ContainedControls
If TypeName(Ctl) <> "Label" Then 'для прямоугольных контролов
control_rgn = CreateRectRgn(X0, Y0, X1, Y1)
Else
new_font = CreateFont(...) ' такой же, как у лейбла
hBrush = CreateSolidBrush(color) ' такого же цвета
'выбираем все в DC

BeginPath hdc
TextOut hdc, X, Y, Caption, Len(Caption)
EndPath hdc
control_rgn = PathToRegion(hdc)

BeginPath hdc
TextOut hdc, X, Y, Caption, Len(Caption)
EndPath hdc
FillPath hdc
'прорисовка пути нужна из-за описанного ниже несовпадения

'восстанавливаем прежние объекты в DC
'уничтожаем созданные объекты
End If
CombineRgn combined_rgn, combined_rgn, control_rgn, RGN_OR
Next Ctl
SetWindowRgn hWnd, combined_rgn, True

Проблема в том, что путь (и регион), полученный через
BeginPath-TextOut-EndPath, выглядит не совсем так, как исходный текст. При
больших размерах шрифта видна разница на границах примерно в +/-1 пиксел,
при стандартном размере в 8pt символы выглядят нескругленными, как бы
составленными из прямых отрезков и с разрывами (похоже, Path довольно грубо
конвертирует кривые в ломаные). При использовании не TrueType шрифта (напр.
стандартного MS Sans Serif) путь вообще не создается. Как с этим бороться,
может, есть другие пути решения этой проблемы?

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

* Origin: Demos online service (2:5020/400)


Re: Прочитать данные в чужом окне

From: Alexander Asyabrik

Привет, Alex.

Вы, было дело, писали, 13:14 07.11.2004:

AM> Может есть дpугие идеи?
AM> Или, может, дpугие способы?
AM> К пpимеpу, такой - записать окна спpавочника в файлы как каpтинки, а потом
AM> натpавить на них FineReader, pаспознать и текст сохpанить в файл.

Если уж собрался натравливать внешнее приложение, тогда попробуй
сперва SnagIt (www.techsmith.com/products/snagit/)

=============
Text Capture

Capture text in tab-delimited format to import into spreadsheets or
database applications.

Entire Screen
Window
Active Window
Region
Fixed Region
Object
Scrolling Window
Scrolling Region
Scrolling Active Window
Clipboard
Full-Screen DOS

=============

Кроме всего прочего SnagIt является еще и COM-сервером

=============
SnagIt COM Server

The SnagIt COM Server is a programming interface to SnagIt. It allows
any programming language that supports COM access to SnagIt's image
and text capture features. For example, developers using Visual Basic,
VB Script, Visual C/C++, Visual Studio.Net, Delphi, or C++ Builder can
now embed and control SnagIt directly in their applications.

SnagIt is the only screen capture product that provides a full
featured, enterprise-level screen capture COM Server.
=============

--
Alexander




* Origin: Talk.Mail.Ru (2:5020/400)


Re: time

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

12 Nov 04 22:45:03 в RU.VISUAL.BASIC Klim Omelchenko -> All:

KO> Как yзнать в каком пpомежyтке находится опpеделенное вpемя(напp. текyщее)
KO> от 08-00 до 22-00 или от 22-00 до 08-00 ?

Dim t As Date

Const t1 = #8:00:00 AM#
Const t2 = #22:00:00 PM#

't = #7:59:00 AM#
t = Time

If t >= t1 And t < t2 Then
Stop ' День
Else
Stop ' Hочь
End if

KO> Сделал че-то типа этого, но оно, ясное дело, не pаботает:

KO> tm1 = Mid(Time, 1, 2)
KO> tm2 = Mid(time_dec, 1, 2) '08
KO> tm3 = Mid(time_dec, 3, 2) '22
KO> If tm1 >= tm2 And tm1 <= tm3 Then
KO> ...

Кошмар...

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

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


Re: Прозрачный контейнер

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

13 Nov 04 09:48:46 в RU.VISUAL.BASIC Sergey Broudkov -> All:

SB> Привет всем, кто меня еще помнит!

Помним-помним. ;)

SB> Делаю сабж (хотя MS уверяет, что это невозможно ;)) Готового ничего не
SB> нашел, но разные идеи из разных мест почерпнул и скомпилировал вместе.
[...]

Советую посмотреть сюда:

www.vbrussian.com/download.asp?Type=Control&ID=100

Там лежит продвинутый Label с поддержкой прозрачности. Авторство принадлежит
Артему.

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

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


time

KO> Как yзнать в каком пpомежyтке находится опpеделенное вpемя(напp.
KO> текyщее) от 08-00 до 22-00 или от 22-00 до 08-00 ?
KO> Сделал че-то типа этого, но оно, ясное дело, не pаботает:
KO> tm1 = Mid(Time, 1, 2)
KO> tm2 = Mid(time_dec, 1, 2) '08
KO> tm3 = Mid(time_dec, 3, 2) '22
KO> If tm1 >= tm2 And tm1 <= tm3 Then
KO> ...
if hour(time)=>8 and hour(time)<=22 then msgbox "vhodit" else msgbox "nea"


* Origin: 1134.moveax.ru (2:5045/44.13)


Re: time

From: Alexander Asyabrik

Привет, Roman.

Вы, было дело, писали 13 ноября 2004 г., 23:28:

KO> текyщее) от 08-00 до 22-00 или от 22-00 до 08-00 ?

if hour(time)=>8 and hour(time)<=22 then msgbox "vhodit" else msgbox "nea"

Точнее будет просто '<22'. Если в этом выражении оставить '<=22' ,
тогда целый час до 23 часов останется в первом диапазоне.

А, гулять, так гулять :-) Такой еще "экзотический" вариант:

Select Case Time
Case #8:00:00 AM# To #9:59:59 PM#
MsgBox "vhodit"
'Case #Если надо - тут добавить любые другие поддиапазоны времени суток#
' Msgbox "blablaBlaBlashechki"
Case Else
MsgBox "nea"
End Select

Выглядит слегка странновато (хотя бы оттого, что под Case должно
стоять вроде бы только "Any numeric expression or string expression"
(с)Microsoft), но ведь работает, и в одной Select Case можно легко
описать _любое_ количество диапазонов.



--
С уважением, Alexander
7:52:51 PM



* Origin: Talk.Mail.Ru (2:5020/400)


кнопки

Hi All!

как мне в пpоект всатвить xp-шные кнопки, а не стандаpтные квадpатные...?


Bye All!

* Origin: | - - [-slash- [@] id.ru] [2:6000/14.4] - - | (2:6000/14.4)


Re: кнопки

From: "Gribkov M.N."


Смотри www.vbnet.ru/activex/activexdownload.asp?id=56

Там всего полно. Вообще в сети полно контролов...

Удачи, Макс
>
> как мне в пpоект всатвить xp-шные кнопки, а не стандаpтные квадpатные...?
>
>
> Bye All!
>


* Origin: CenterTelecom Voronezh ISP (2:5020/400)



Назад Содержание Вперед