Форум

Data.BG Форуми: Спиране на интернета... - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Спиране на интернета... Как?

#1
Потребителят е неактивен   pky 

  • Група: Потребители
  • Мнения: 6929
  • Регистриран: 15-January 07
  • Репутация: 1418
  • Пол:Мъж
  • Град:Варна
  • Интереси:Компютри, интернет и др.
Здравейте. Програмирам на C# (Microsoft Visual Studio 2005) и искам да попитам как може (ако може :evil2: ) да се спре интернета (да се disable-не Local Area Connection-а), примерно при клик на бутон... И с друг бутон отново да се Enable-не... Или, ако няма/не знаете такъв начин, може и с batch файл/vbscript, които после да изпълня през програмата... Намерих един vb script:
Const ssfCONTROLS = 3 
 
 sConnectionName = "Local Area Connection" 
 
 sEnableVerb = "En&able" 
 sDisableVerb = "Disa&ble" 
 
 set shellApp = createobject("shell.application") 
 set oControlPanel = shellApp.Namespace(ssfCONTROLS) 
 
 set oNetConnections = nothing 
 for each folderitem in oControlPanel.items 
 	if folderitem.name = "Network Connections" then 
 		set oNetConnections = folderitem.getfolder: exit for 
 	end if 
 next 
 if oNetConnections is nothing then 
 	msgbox "Couldn't find 'Network Connections' folder" 
 	wscript.quit 
 end if 
 set oLanConnection = nothing 
 for each folderitem in oNetConnections.items 
 	if lcase(folderitem.name) = lcase(sConnectionName) then 
 		set oLanConnection = folderitem: exit for 
 	end if 
 next 
 if oLanConnection is nothing then 
 	msgbox "Couldn't find '" & sConnectionName & "' item" 
 	wscript.quit 
 end if 
 
 bEnabled = true 
 set oEnableVerb = nothing 
 set oDisableVerb = nothing 
 for each verb in oLanConnection.verbs 
 	if verb.name = sEnableVerb then 
 		set oEnableVerb = verb 
 		bEnabled = false 
 	end if 
 	if verb.name = sDisableVerb then 
 		set oDisableVerb = verb 
 	end if 
 next 
 if bEnabled then 
 	oDisableVerb.DoIt()
 else 
 	oEnableVerb.DoIt 
 end if 
 
 wscript.sleep 500

който работи при Windows XP, но при 7-цата не работи (поне не при тази на един мой приятел, която е кирилизирана)... Знам защо не става - защото при XP пътя към Local Area Connection е Control Panel>Network Connections, а при 7 е друг (не знам точно какъв...)... Може и да е заради кирилизацията... Та, ако някой знае как да модифицира скрипта да работи или и на 2-те OS, или и само на 7, също би ми било от полза. :lol:
Също, намерих и команди за пускане и спиране чрез batch file:
netsh interface set interface "Local Area Connection" ENABLE
netsh interface set interface "Local Area Connection" DISABLE

Но, незнайно защо, те пък въобще не работят... :lol:
Друго, което намерих е това:
@echo off
goto Start
---------------------------------------------------
Use this batch file to enable or disable a device
from the Command Prompt.
16.4.2006 FNL
---------------------------------------------------
:Start
setlocal enabledelayedexpansion
set Adapter=Broadcom NetXtreme Fast Ethernet

if /i "%1"=="enable" goto go
if /i "%1"=="disable" goto go
echo Syntax: Device enable / disable
goto :eof

:go
set HWID=x
set count=0
set found=no

devcon hwids "PCI\*" > device.txt
for /F "tokens=*" %%* in (device.txt) do (
set /a count=!count! + 1
if /i "%%*"=="Name: %Adapter%" set found=yes& set count=1
if !found!==yes if !count!==3 set HWID=%%*
)
if %found%==yes (
echo HWID=!HWID!
devcon %1 "!HWID!"
) else (
echo Device "%Adapter%" not found.
)
endlocal
del device.txt
pause

Но, когато го пусна, излиза само command prompt за миг и изчезва... А LAN-а не се забранява...

Та, ако някой може да ми помогне, бих му бил много благодарен! :lol:

PS: Единственото решение, което до сега съм намерил, е чрез batch файл да сменя настройките на LAN-а и така да няма достъп до интернет...
@echo off
echo Setting IP address and Subnet mask...
netsh interface ip set address name="Local Area Connection" source=static addr=11.22.33.44 mask=255.255.255.0
echo Setting Default Gateway...
netsh interface ip set address name="Local Area Connection" gateway=11.22.33.44 gwmetric=0
echo Setting Preferred DNS server...
netsh interface ip set dns name="Local Area Connection" source=static addr=11.22.33.44
echo Setting Alternate DNS server...
netsh interface ip add dns name = "Local Area Connection" addr = 11.22.33.44

Това си има и предимство, че мога да пусна един таймер, примерно всяка секунда да се изпълнява и така, ако човека си оправи настройките, пак да се сменят и да не може в крайна сметка да използва интернет... Но и това не работи при Windows 7... (поне не при този на приятеля ми, който е кирилизиран...)

Искам да уточня, че не целя да правя някакъв вирус или нещо подобно, просто искам да направя една програмка, която да задава въпроси и да имаш определено време да отговориш, но да нямаш достъп до интернет, за да не търсиш там отговорите...

PS2: Може да ми бъде от помощ и процес, който да kill-ва процесите на по-известните web browser-и... :lol:
Тук имам по-голям успех... Чрез batch file могат да се kill-ват с командата
taskkill /f /im "process.exe"

Мога да пусна един таймер, който всяка секунда да пуска batch файла, но ми трябват и имената на процесите на известните browser-и... ;)
Това поне работи и на Win7... :evil2:

PS3: Обмислял съм и вариянта да му оставя малко време за отговор, за да няма достатъчно време да потърси отговор в интернет, но не ми харесва като идея... Трябва да има достатъчно време да осмисли въпроса и да отговори, а не да бърза да не му изтече времето... :evil2:

PS: По-голямата част от темата не е свързана със C#, но не намерих по-удачно място, където да попитам... :lol:

Благодаря на всеки, който е отделил от времето си да прочете дългия ми пост... И се надявам да ми помогнете. :lol:

Мнението беше редактирано от pky: 10.11.10 - 17:25

0

#2
Потребителят е неактивен   brotalnia 

  • Група: Потребители
  • Мнения: 529
  • Регистриран: 23-April 06
  • Репутация: 18
  • Пол:Мъж
  • Град:Берковица
  • Интереси:owning noobs
Ако използваш Dial-up Connection(като на снимката от долу) за да се свържеш с интернет може да спреш интернета с batch файл.
Публикувано изображение

Ето как се спира връзката:
rasdial /disconnect

0

#3
Потребителят е неактивен   mitkohr 

  • Група: Потребители
  • Мнения: 77
  • Регистриран: 01-April 04
  • Репутация: 0
Пробвай това: http://msdn.microsof...ibrary/Aa394595
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login