Entwickler-Ecke
Internet / Netzwerk - Internet am lokalen PC deaktivieren
LittleBen - Sa 13.10.12 14:31
Titel: Internet am lokalen PC deaktivieren
Guten Mittag,
ich suche eine Möglichkeit, den Internetzugriff auf einem PC zu verhindern. Dabei ist mir z.B. in den Sinn gekommen, einfach das dafür zuständige Gerät vom Computer zu trennen, wie z.B. den Fritz Wlan Stick. Jedoch habe ich keine Ahnung, wie ich das im Programm umsetzen kann. Es gibt wahrscheinlich auch noch andere, viel bessere Möglichkeiten(?).
Kann mir jemand helfen?
Viele Grüße,
Littleben
Narses - Sa 13.10.12 14:33
Moin!
Nimm das Default-Gateway aus der IP-Config raus, dann geht nur noch LAN. :idea:
cu
Narses
Delete - So 14.10.12 21:15
dot3svc
Der Wired Autoconfig Service muss aktiv sein.
wlansvc
Automatische WLAN-Konfiguration muss aktiv sein.
services.msc starten
Folgende Dienste auf Starttyp
Automatisch stellen:
Automatische Konfiguration (verkabelt)
Automatische WLAN-Konfiguration
Für den Kommando-Interpreter:
WLAN ON:
netsh wlan delete filter permission=denyall networktype=infrastructure
netsh wlan delete filter permission=denyall networktype=adhoc
netsh wlan set blockperiod 0
WLAN OFF:
netsh wlan add filter permission=denyall networktype=infrastructure
netsh wlan add filter permission=denyall networktype=adhoc
netsh wlan set blockperiod 60 //60 Minuten Sperre
LAN ON:
netsh lan set blockperiod 0
LAN OFF:
netsh lan set blockperiod 60 //60 Minuten Sperre
Überprüfung:
netsh wlan show settings
netsh lan show settings
Beispiele in DELPHI:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| begin ShellExecute(Application.Handle, nil, 'netsh', 'wlan delete filter permission=denyall networktype=infrastructure', nil, SW_HIDE); end; . begin ShellExecute(Application.Handle, nil, 'netsh', 'wlan add filter permission=denyall networktype=infrastructure', nil, SW_HIDE); end; |
LittleBen - So 21.10.12 10:49
Hallo,
vielen Dank für die Lösungsvorschläge. Letztendlich hat die Funktion "How do I disable or enable a NIC?" von der Seite die
hathor genannt hat wunderbar funktioniert.
Noch einen schönen Sonntag,
Littleben
hungrycoder - Di 08.01.13 23:21
Hallo zusammen,
wollte den Code "How do I disable or enable a NIC" auch verwenden nur nimmt er bei mir die Klasse "Win32_NetworkAdapter" in die Uses nicht auf. Kann sie anscheinend nicht auflösen. Wo liegt das Problem? Muss ich etwas anderes reintragen?
hungrycoder
LittleBen - Do 10.01.13 16:19
Versteh dein Problem nicht ganz...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74:
| unit U_Main;
interface
uses Forms, ComObj, Windows, ShellApi, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls, Dialogs, Registry, Math, ActiveX, SHDocVw, StdCtrls;
type TForm1 = class(TForm) Button2: TButton; Button1: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); const wbemFlagForwardOnly = $00000020; var FSWbemLocator : OLEVariant; FWMIService : OLEVariant; FWbemObjectSet: OLEVariant; FWbemObject : OLEVariant; oEnum : IEnumvariant; iValue : LongWord; begin; FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator'); FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', ''); FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter Where NetEnabled=False','WQL',wbemFlagForwardOnly); oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant; while oEnum.Next(1, FWbemObject, iValue) = 0 do begin FWbemObject.Enable(); FWbemObject:=Unassigned; end; end;
procedure TForm1.Button2Click(Sender: TObject); const wbemFlagForwardOnly = $00000020; var FSWbemLocator : OLEVariant; FWMIService : OLEVariant; FWbemObjectSet: OLEVariant; FWbemObject : OLEVariant; oEnum : IEnumvariant; iValue : LongWord; begin; FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator'); FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', ''); FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter Where NetEnabled=True','WQL',wbemFlagForwardOnly); oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant; while oEnum.Next(1, FWbemObject, iValue) = 0 do begin FWbemObject.Disable(); FWbemObject:=Unassigned; end; end;
end. |
hungrycoder - Sa 12.01.13 15:35
@LittleBen
Genau so habe ich es ja auch... Leider bekomme ich da den Fehler: "EOleException: Die Anfrage ist ungültig".
Habe WinXP Pro SP3.
Woran könnte es liegen? Kann mir nicht vorstellen, dass es wegen dem Systems ist, oder etwa doch?
hungrycoder - Sa 12.01.13 16:11
@LittleBen
Danke dir, habs gerade mit Win7 ausprobiert da gehts -.-
Du weißt nicht zufällig eine Lösung, welche unter XP funktioniert?
LittleBen - Sa 12.01.13 16:21
Leider kenne ich auch keine andere Möglichkeit. Du könntest noch
Narses Idee versuchen umzusetzen. Ist zwar keine schöne Methode, aber müsste funktionieren.
hungrycoder - So 13.01.13 22:35
Ich hab in Delphi noch nicht so viel mit Netzwerk zu tun gehabt, deswegen weiß ich auch nicht, ob es da eine einfache Möglichkeit gibt das Default-Gateway rauszunehmen. Habe jetzt aber schon eine Weile gesucht(2 Stunden). Muss ich wirklich die ganzen Verbindungsdaten löschen? Wenn ja würde ich das ganze mit Batch machen, gibt es da auch eine vernünftige Lösung mit Delphi?
LittleBen - So 13.01.13 22:45
Da ich mich damit selbst nicht so super auskenne, muss ich die Frage wohl an
jaenicke weiterleiten, denn er hat normalerweise auf alles eine Antwort :P
hungrycoder - So 13.01.13 22:52
Alles klar :), dann hoffe ich mal, dass jaenicke bald vorbeischaut. Aber vielleicht weiß ja noch jemand anders, wie man es am einfachsten/besten lösen könnte.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!