· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.VIROLOGY —› Как убрать значок vpn из сис-трейа?

Посл.отвђт Сообщенiе


Дата: Авг 9, 2004 13:40:24

Нарыл в инете исходник программного запуска dialup'a:
include \masm32\include\Rasapi32.inc
includelib \masm32\lib\Rasapi32.lib

.data?
TrueSize dd ?
uEntries dd ?
password dd ?
ren RASENTRYNAMEA <?>
RasCon RASCONNA <?>

.code
_start:mov RasCon.hrasconn,0
       lea esi,ren
       mov dword ptr [esi],108h
       push offset uEntries
       push offset TrueSize
       push esi
       push 0
       push 0
       call RasEnumEntries   
; кстати, если кто знает, обясните плиз почему нуно 2 раза использовать функцию RasEnumEntries, чтоб прога работала?
       push offset uEntries
       push offset TrueSize
       push esi
       push 0
       push 0
       call RasEnumEntries
       push sizeof RASDIALPARAMSA
       push 0
       call GlobalAlloc
       mov edi,eax
       assume edi:ptr RASDIALPARAMSA
       mov dword ptr [edi],041Ch
       invoke lstrcpy,addr [edi].szEntryName,offset ren.szEntryName
       push offset password
       push edi
       push 0
       call RasGetEntryDialParams
       push offset RasCon.hrasconn
       push 0
       push 0
       push edi
       push 0
       push 0
       call RasDial
       push edi
       call GlobalUnlock
       invoke ExitProcess,0
end _start

Кода-вить соединяется - появляется значок на сис-трейе.
Как сделать, чтоб он там ваще не появлялся?


Дата: Авг 9, 2004 18:48:27

вот моя диалапка см. аттач.
в треи у меня ниче непоявлялось, тока я тестил на модеме все работало тока я не знаяю как спикер на модеме отключить при наборе.

193984792__dstealdial.zip


Дата: Авг 9, 2004 19:07:11

„; кстати, если кто знает, обясните плиз почему нуно 2 раза использовать функцию RasEnumEntries, чтоб прога работала?“

Если я правильно понял написанное в MSDN, то при наличии в системе нескольких подключений такая прога в лучшем случае не будет работать, а в худшем - будет довольно громко падать.


Дата: Авг 9, 2004 20:05:16 · Поправил: Flasher

khv_test, твоя прога мой vpn не находит :)
RobinFood, я тут укороченный вариант написал.., если замутить нужные проверки всё ок будет ;)


Дата: Авг 10, 2004 05:38:26 · Поправил: q_q

Flasher
почему нуно 2 раза использовать функцию RasEnumEntries
Это не обязательно. А применяется для того, чтобы первым вызовом определить требуемый (четвертый параметр) размер буфера (третий параметр), перед вторым вызовом зарезервировать память и произвести второй вызов. Примерно так
...
	local	AttemptCount : dword
	local	uEntries     : dword
	local	TrueSize     : dword
	local	pREN         : dword
...
	mov	pREN,0
	mov	TrueSize,sizeof RASENTRYNAME
	mov	AttemptCount,5
Attempt:
	cmp	pREN,0
	jz	short @F
	push	pREN
	call	GlobalFree
	mov	pREN,0
@@:
	push	TrueSize
	push	GPTR
	call	GlobalAlloc
	test	eax,eax
	jz	@@_ERROR_NOT_ENOUGH_MEMORY
	mov	pREN,eax
	mov	(RASENTRYNAME ptr [eax]).dwSize,sizeof RASENTRYNAME
	xor	ecx,ecx
	mov	uEntries,ecx
	lea	ecx,uEntries
	push	ecx
	lea	ecx,TrueSize
	push	ecx
	push	eax
	push	0
	push	0
	call	RasEnumEntries
	cmp	eax,ERROR_BUFFER_TOO_SMALL
	jnz	short @F
	dec	AttemptCount
	jnz	short Attempt
@@:
	cmp	eax,ERROR_SUCCESS
	jnz	Dispatch_RasEnumEntries_Error
; здесь все ok
...
	push	pREN
	call	GlobalFree
...
Dispatch_RasEnumEntries_Error:
...
@@_ERROR_NOT_ENOUGH_MEMORY:
...


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.057