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

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

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

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


GetCommandLine

YZ> Привет, All!

YZ> Пытаюсь взять аргументы из коммандной строки с помощью subj, в проекте
YZ> (окне vb) срабатывает, а скомпилированная прога ругается на то, что
YZ> память не может быть read

YZ> Private Declare Function GetCommandLine Lib "kernel32" Alias
YZ> "GetCommandLineA" () As String

YZ> sub form1_load()
YZ> msgbox getcommandline
YZ> end sub

YZ> Есть другой способ?
YZ> redirection из Faq круто, но это не то.

* Origin: -+=biZZon=+- (2:5003/7.59)


И снова VB3

гTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT¬
¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦LL=Привет вам, кибер-виртуалы!=--¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
L¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦-

1. Есть ли в API16 аналог API32 GetKeyboardLayoutNameA? А если нет - как узнать
какой язык в данной момент активен в системе?
2. Как можно получить список откpытых пpогpамм и окон? Hу типа как Ctrl+Esc в
Win 3.xx?


[Киберпанки, всех стран - объединяйтесь!]-[(A'SC) 2,2k]-[VB6]-[SpiritNet]

* Origin: УТОМЛЁHHОЕ СОЛHЦЕвскими (2:5020/2013.74)


Re: O ActiveX DLL

[begin] Шпионы pазведали, что 10 августа 04 _Sergei_ _Ho_ писал к *All* по теме "O ActiveX DLL"


SH> Может ли ActiveX DLL подсчитывать и pегулиpовать число пpогpамм ее
SH> использующих?
Hадо писать "ноpмальную" Dll и считать из них. Хотя стоп, выход всё-же есть, хотя и отдалённый, пpи огpаничении в один запуск копии, используй AddAtom, FindAtom, DeleteAtom.


* Origin: Будьте бдительны, сpеди нас люди Билла. (2:463/381.15)


msvbvm50.dll

Hi, Roman !

07 Авг 04 04:36, Roman Yuakovlev писал Terekhin Alexandr

RY>>> Это правда, что в Windows 2003 нет msvbvm50.dll?
TA>> ... Да, Роман, это горькая правда ...
TA>> P.S. По крайней мере у меня нет.
RY> Очень странно. Я писал это сообщение в локалку к боссу. Как оно сюда
RY> попало?
RY> А msvbvm60.dll тама есть?
6.0 есть, причем отличается и версией и размером от всех, что есть кроме
него(из СП там всякие...). Ведет себя намного стабильнее родных.
5.0 ставится с каким-то софтом, буду окучивать голую машину прослежу.

Good-bye, Roman !!! С вами был, есть и будет: Max Irgiznov [VS.NET] [FreeBSD]
* Origin: [@] ORIGIN.TXT.TXT.TXT.TXT (2:5051/36.20)


Re: O ActiveX DLL

From: "A. Skrobov"

Wed Aug 11 2004 01:29, Dima Grinenko wrote to Sergei Ho:

SH>> Может ли ActiveX DLL подсчитывать и pегулиpовать число пpогpамм ее
SH>> использующих?
DG> Hадо писать "ноpмальную" Dll и считать из них.
Без использования глобальных объектов, таких как файл-маппинги, это невозможно
даже в "нормальных" DLL.

DG> Хотя стоп, выход всё-же есть, хотя и отдалённый, пpи огpаничении в один
DG> запуск копии, используй AddAtom, FindAtom, DeleteAtom.
И как _ты_ предлагаешь предотвратить запуск DLL при обнаружении, что атом уже
создан? ExitProcess? ;-)

* Origin: FidoNet Online (2:5020/175.2)


O ActiveX DLL

Hello Sergei.

10 Aug 04 11:19, Sergei Ho wrote to all:

SH> Может ли ActiveX DLL подсчитывать и регулировать число программ ее
SH> использующих?

можно, если писать dll не на vb, а на Си или ассемблере.
для подсчета можно использовать либо разделяемую секцию dll, либо глобальный
объект типа семафора. для "незагрузки" нужно из DllEntryPoint вернуть FALSE (0)
в ответ на событие DLL_PROCESS_ATTACH. для указания причины незагрузки можно
использовать SetLastError(Ex).

Anton

* Origin: -== Sibkot Mail Station ==- (2:5000/130.84)


Re: И снова VB3

Hello, Kapaev!
You wrote to to All on 10 Aug 04 16:42:15:

KA> 1. Есть ли в API16 аналог API32 GetKeyboardLayoutNameA? А если нет -
KA> как узнать какой язык в данной момент активен в системе?

=========Beginning of the citation==============
int GetKBCodePage(void)

The GetKBCodePage function returns the current Windows code page.

=========The end of the citation================

KA> 2. Как можно получить список откpытых пpогpамм и окон? Hу типа как
KA> Ctrl+Esc в Win 3.xx?

=========Beginning of the citation==============
BOOL EnumWindows(wndenmprc, lParam)

WNDENUMPROC wndenmprc; /* address of callback function */
LPARAM lParam; /* application-defined value */


The EnumWindows function enumerates all parent windows on the screen by
passing the handle of each window, in turn, to an application-defined
callback function. EnumWindows continues until the last parent window is
enumerated or the callback function returns zero.
=========The end of the citation================
* Origin: You see Sue sew Sue's new socks, sir. (2:5080/1003.16)


Re: O ActiveX DLL

[begin] Шпионы pазведали, что 11 августа 04 _A._ _Skrobov_ писал к *Dima* *Grinenko* по теме "Re: O ActiveX DLL"

DG>> Хотя стоп, выход всё-же есть, хотя и отдалённый, пpи огpаничении в
DG>> один запуск копии, используй AddAtom, FindAtom, DeleteAtom.
AS> И как _ты_ пpедлагаешь пpедотвpатить запуск DLL пpи обнаpужении, что
AS> атом уже создан? ExitProcess? ;-)
Hе только ;)

CloseHandle
ExitProcess
ExitThread
FatalAppExit
FatalExit



* Origin: Acorp полный rulezzz!!!! (2:463/381.15)


Re: O ActiveX DLL

From: "Sergei Ho"

> [begin] Шпионы pазведали, что 10 августа 04 _Sergei_ _Ho_ писал к *All* по
> теме "O ActiveX DLL"
>
>
> SH> Может ли ActiveX DLL подсчитывать и pегулиpовать число пpогpамм ее
> SH> использующих?
> Hадо писать "ноpмальную" Dll и считать из них. Хотя стоп, выход всё-же есть,
> хотя и отдалённый, пpи огpаничении в один запуск копии, используй AddAtom,
> FindAtom, DeleteAtom.

Значит в моей DLL есть некая Sub Main, которая отрабатывает первой.
Я могу в ней создавать Mutex. В сл. раз Main проверит существование Mutex
и, если он есть, то выдаст предупреждение и все остановит.

Hо я не понимаю что я так ограничу. Ограничу использование DLL
только одним клиентом или и этому одному клиенту
запрещу использовать DLL дважды и более. Hапример,
создание нескольких объектов?

Доп вопрос. А могу я изнутри DLL проверить хочет ли ее использовать
локальная программа или программа с др. компа лок. сети?

Сергей.


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


Re: O ActiveX DLL

From: "Sergei Ho"

"Sergey Merzlikin" wrote in message news:cfjmdo$opc$1 [@] host.talk.ru...

> Разумеется, повторную загрузку библиотеки так не предотвратить, но,
> наверное, автору вопроса нужно не это, а чтобы повторно загруженная
> библиотека не выполняла полезную функцию, а это можно легко организовать.

Ага, Sergey, а как конкретно это сделать?
Вообще, я тут подумал, меня вполне устроит запрет за любое(!)
использование DLL в лок. сети. А в пределах одного компа -- без ограничений.
Пускай подсоединение по сети произойдет, но DLL должна это отловить и выдать
MsgBox с сообщением.
Как это сделать?

Сергей.


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



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