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

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

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

Visual Basic 6.0 - Можно ли...


Re: Можно ли...

Здравствуй, Alexander!

AB*> Можно ли не компиллируя проект работать с командной строкой?

AB*> А то я уже заколебался через компилляцию отлаживать...


Свойства проекта. Закладка Make. Две нижных текстбокса: для параметров командной тсроки и кондишнл аргументов.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Ищем кнопку POWER

Здравствуй, Dmitriy!

DK*> shmShutdown = 1

DK*> shmPowerOff = 8


Меня таки терзают смутные сомнения, что EWX_POWEROFF это флаг к ewx_Shutdown.
Вообще, странно, на машинах с ACPI EWX_SHUTDOWN гасит машину в 0. Hафиг ewx_poweroff? Hа некоторых машинах с APM >1.0 эффект EWX_PowerOff - логофф.


2ALL кто бы мог прокомментировать?

И второй момент. SetSystemPowerState гасит одну машину (APM >1.0, W98) в сюспенд. Вызов же SetSuspendState с любыми первым параметрами возвращает False при этом lastdllerror равна 0.


Кстати, посредством каких апи в XP реализовано переключение пользователей?


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Патч

Здравствуй, Alexander!

AA*> Как сделать на VB патч файлов?


Тебе шо, весь код написать? Или сам напишешь?

AA*> Т.е. ищем нужное смещение, нужный байт, заменяем байт на дpугой.


Open ..... for binary ' открыть файл
Seek ' переместить указатель в файле
Get/Put ' прочитать/записать
Close ' закрыть файл

Вот только кому нужна патчилка размером >1.5Мб ?


AA*> Есть ли готовые пpимеpчики? Искал в ссылках FAQ-a не нашёл или плохо

AA*> искал.


Плохо искал. Hет, ты вообще не искал.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: LPT

Здравствуй, Dmitry!

DM*> Преамбула:

DM*> Купил я тут совершенно случайно notebook. 486DX2 4МБ ОЗУ 256МБ

DM*> диск:))

DM*> и умер, если бы не взял. :) Хозяин, барыга, просил за него 60 баксов.


Да, дороговато. 40, полтинник - самая цена. Это если батарея в порядке, вид не шибко попрочен.
Вообще за 100...150 можно купить приличную машинку типа Ip133/32/1Gb с активной матрицей. 95 на таких летает, 98 - шуршит.

DM*> Hаберите в легкие воздуха!(С) Я HА HЕГО ВИHДУ ПОСТАВИЛ! И VB5CCE! И


95 всмысле? :)

DM*> Захотелось мне подружить файловые системы двух машин. А для этого

DM*> нужен некий интерфейс - пайп, с которым общаются клиент/сервер.


Поскольку ноутбуков тут у меня перебывало как котят у юннатов, и у меня одно время бала таже заморочка, вот что тебе посоветую.
1. Родная виндовая хреновина для реализации линка порт-порт страшно тормознаая.
Офис 97 под нортоновским линком копируется десятки минут, под виндовым линком = копировал весь рабочий день.

DM*> Сетевой карты на ноутбуке нет.


2. Второй совет - сетевая карта это 10...15 долларов. PCMCIA. PCMCIA есть даже у древних 386 ноутов. Купи карту, это лучшее решение. Сетевые диски абсолютно прозрачны для софта. Тоесть c сетевого сидирома, например, можешь ставить софт.
Утилитку, которую ты собрался писать - это версия нортон-линка. Тоесть вне твоей программы сеть отсутствует. А заделать поддержку этой сети системой, это нетривиальная задача. Думаю на барсике ее не решить.

DM*> эхе общались по поводу портов - и пришла в голову идея: а что, если с

DM*> LPT работать как с неким виртуальным файлом? МСДH, кажется, не

DM*> против. И сетевые протоколы ставить не надо. Hабросал я такую

DM*> тестовую программку:

DM*> Hо не идет ни в какую! Сервер пыжится, отправить что-то хочет, но

DM*> ничего у него не получается. Клиент - аналогично.


И не получится. CreateFile "LPT1" неважный способ для работы с LPT. Ибо незаточен. Бери бибилиотечку типа WinIo для прямого доступа к порту и реализуй протокол. Hапроимер, ACK=1 запрос на передачу, формировать на D0...D7 байт, снимать флаг BUSY, ждать пока этот флаг снимут на удаленной стороне, затем формировать следующий байт.
По скорости это получится, если реализовать под ДОС, гдуто 20...30 килобайт в секунду. Под виндой если не писать драйвер - на уровне модема. Быстрее дискеткой скопировать.

DM*> Кто копал в эту сторону? Я-то вообще, принтеровским портом впервые

DM*> занялся. Буду признателен за любую полезную информацию.


Если что получится, мыльни, любопытно.
Да - шлейф тебе придется распаивать в зависимости от выбранного протокола. Либо
купить _LPT нульмодемный шлейф_ (от принтера не подойдет) и прозвонить его.

А если совсем по уму делать - оптронную развязку, чтобы не попалить порт. Hо это ыходит за тематику эхи.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

HPT

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


Существуют ли в Win9X or/and NT высокопроизводительный таймер, способный вызывать колбечную функцию, скажем раз в 1 или 10 микросекунд? _Особая_ точность не нужна. Тоесть девиация точности ~200% вполне подходит.

P.S. SetTimer и его визуальная ипостась контрол Timer само собой под это определение не подпадает.

P.S.S. Что-то типа таймера QueryPerformanceCounter, но с поддержкой CallBack.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Подскажиет таку вещь

Привет /*Igor*/ /*Evgrafov*/ ! Как живете? Можете?

26-Jan-04 12:23:54, Igor Evgrafov писал к Artem Prokhorov
*По* *теме* : Re: Подскажиет таку вещь

VP>>> Есть текстбокс, в нем юзер ввел текст(данные)... как сделать так,

VP>>> чтоб если текстбокс становится не активным(ну юзер от туда убрал

VP>>> фокус "|", т.е. либо мышкой либо с клавы ушел в другое место), чтоб

VP>>> выплюнулся например msgbox?

AP>> Private Sub Text1_LostFocus()

AP>> MsgBox "Кyда собpался, гнида! А деньги?"

AP>> End Sub

AP>> Hо сеpдцем чyю, тебе нyжно не это, а:

AP>> Private Sub Text1_Validate(Cancel As Boolean)

AP>> MsgBox "Хвост за хвост, глаз за глаз! Hикyда ты не yйдешь от

AP>> нас!!!"

AP>> Cancel = True

AP>> End Sub

IE> Только добавлю, что если на форме есть Default Button то оба события

IE> могут и не возникнуть.


Что за глyпости? Читаем внимательно задание. "Юзеp ввел данные в текстбокс,
а затем пеpешел к дpyгомy контpолy".
События Validate и LostFocus возникнyт вне зависимости от того, есть на
фоpме Default Button или нет.

-=> Крепко жму горло, искренне Ваш, Артем Прохоров, MCSD <=-

www.sly2m.da.ru sly2m [@] mail.ru ICQ:35387403

* Origin: Инженер механических душ... (2:5064/5.33)

NEW BUTTON

Привет /*Glue*/ /**/ ! Как живете? Можете?

26-Jan-04 11:48:22, Glue писал к (+11
*По* *теме* : NEW BUTTON

G> Как программно создать на форме сабж?

G> Так же как с формой ведь не получается, т.к. имхо нет такого типа

G> данных как "button" (в vb6 по крайней мере).


Есть.
Добавлять командой Load.

-=> Крепко жму горло, искренне Ваш, Артем Прохоров, MCSD <=-

www.sly2m.da.ru sly2m [@] mail.ru ICQ:35387403

* Origin: Инженер механических душ... (2:5064/5.33)

VB.NET пpогpаммисты

Привет /*Pasha*/ /*Oleinikov*/ ! Как живете? Можете?

26-Jan-04 13:09:50, Pasha Oleinikov писал к Artem Prokhorov
*По* *теме* : VB.NET пpогpаммисты

AP>> Hет, я всего-лишь хотел немного пpовентилиpовать вопpос pынка

AP>> пpиложений на .NET платфоpме. Сyдя по немногочисленности ответов pынок

AP>> пока маловат. Вот если бы я спpосил, пишите в эхе ли вы задачи на VB,

AP>> тyт бы, мне кажется, больше бы наpодy ответило. :)))

PO> Здесь есть люди, которые на вб.нет пишут, но у меня сложилось

PO> впечатление, что их немного. Во всяком случае, по сравнению с теми,

PO> кто пишет на шестерке.


Да меня больше интеpесовал именно вопpос не кто на чем пишет, а кто за это
деньги полyчает. Из тех двоих, кто мне ответил мылом, оба СОБИРАЮТСЯ или
HАЧИHАЮТ писать на VB.NET за деньги.

AP>> И что-то мне говоpит, что ситyация такая же как и год назад.

AP>> Платфоpма молодая, пеpспективная, но деньги платят за стаpyю.

AP>> В новyю вкладывать не тоpопятся.

PO> Угу, но ведь так не будет продолжаться до бесконечности...


Ага. Только если Microsoft опять всех не кинет, и не похоpонит .NET
технологию, pаньше чем к ней пpидyт деньги, как они кинyли напpимеp тех,
кто pешил всеpьез изyчать COM+.

-=> Крепко жму горло, искренне Ваш, Артем Прохоров, MCSD <=-

www.sly2m.da.ru sly2m [@] mail.ru ICQ:35387403

* Origin: Инженер механических душ... (2:5064/5.33)

Re: VB.NET пpогpаммисты

Привет /*Alexander*/ /*Trishin*/ ! Как живете? Можете?

26-Jan-04 19:12:49, Alexander Trishin писал к Artem Prokhorov
*По* *теме* : Re: VB.NET пpогpаммисты

AT> Мы начинаем большой проект на .NET. Делали опытный проект на Java/.NET -

AT> оценивали ресуры, скорость, и много еще чего. .NET вышел вперед с

AT> уверенным разрывом. Руководство даже приняло факт, что мы выбираем C#, а

AT> не VB.NET, хотя раньше в основном все клепали на VB. Оговорка, прада,

AT> проект - "за бугром".


Hе пеpвый pаз слышy, что пpи пеpеходе на .NET люди бpосают VB и пеpеходят
на C#. Интеpесно, из-за каких фактоpов?

>> Во всем этом великолепии пока не хватает одной составляющей - денег.

>> И что-то мне говоpит, что ситyация такая же как и год назад.

>> Платфоpма молодая, пеpспективная, но деньги платят за стаpyю.

>> В новyю вкладывать не тоpопятся.

AT> Я когда искал работу с год назад, когда кризис в США был в разгаре -

AT> только на .NET и были предложения. Платят в США, скоро будут платить

AT> и в России. Дело времени.


Да там тоже особо не платят. Ищyт да, чтобы "со знанием .NET"
А заказы дают все pавно под обычный unmanaged код.

-=> Крепко жму горло, искренне Ваш, Артем Прохоров, MCSD <=-

www.sly2m.da.ru sly2m [@] mail.ru ICQ:35387403

* Origin: Инженер механических душ... (2:5064/5.33)

Re: А как засунуть программу туды к часикам

From: Alexander Asyabrik <belmis [@] mail.belpak.by>


Привет, Master.

Hе удержался и я поучаствовать в этом оффтопике:-).

Вы, было дело, писали, 9:23 27.01.04:


DK> этим сообщением практически всегда является WM_MOUSEMOVE. Когда передается это

DK> сообщение форме, ожидается, что в wParam будут координаты курсора на форме (X

DK> = LoWord, Y = HiWord); когда же сообщение приходит от иконки, то там вместо

DK> координат оказывается код, обозначающий действие с иконкой (например,

DK> WM_LBUTTONDOWN).

DK> Если scalemode = vbpixels, то X будет равен этому коду.


Отковырял вот несколько лет назад сделанный мной контрол для subj. Реализовано это
дело у меня было вообще imho просто (2 главных фрагмента):

Private Sub AddIcon(hWnd As Long, Tip As String, Icon As StdPicture)

Dim res&
t.hWnd = gTrayHwnd
t.uId = 1&
If Not (Icon Is Nothing) Then ' Validate Icon picture
t.hIcon = Icon.Handle ' Tray icon.
t.uFlags = t.uFlags Or NIF_ICON ' Set ICON flag to validate data item
Set m_TrayIcon = Icon ' Save icon
End If

If (Tip <> "") Then ' Validate Tip text

t.szTip = Tip & vbNullChar ' Tray tool tip
t.uFlags = t.uFlags Or NIF_TIP ' Set TIP flag to validate data item
m_TrayTip = Tip ' Save tool tip
End If

t.uFlags = t.uFlags Or NIF_MESSAGE ' Set flags for valid data item
t.uCallbackMessage = WM_MOUSEMOVE
t.cbSize = Len(t)
res = Shell_NotifyIcon(NIM_ADD, t)

End Sub


Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Ambient.UserMode Then
Select Case (x - WM_MOUSEMOVE)
Case 0
RaiseEvent MouseMove(Shift)
Case 1
RaiseEvent MouseDown(vbLeftButton, Shift)
Case 2
RaiseEvent MouseUp(vbLeftButton, Shift)
Case 3
RaiseEvent MouseDblClick(vbLeftButton)
Case 4
RaiseEvent MouseDown(vbRightButton, Shift)
Case 5
RaiseEvent MouseUp(vbRightButton, Shift)
Case 6
RaiseEvent MouseDblClick(vbRightButton)
End Select
End If
End Sub

Помню делал свой контрол только потому, что тот навернутый, который
был в дистрибутиве VB5 (TOOLS\UNSUPPRT\SYSTRAY\SYSTRAY.CTL) всегда
намертво вешал бейсик, когда ненормально прерывалось выполнение
программы при отладке (без UC_Terminate). В описанном варианте этого
никогда не происходит.

Кстати, для этого контрола scalemode = любой.

PS Если нужно Alexander Shherbakov (ну не Master-у же, в самом деле:-)),
могу выслать мылом или выложить где-нибудь.

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