Autor Beitrag
LittleBen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Sa 13.10.12 14:31 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 13.10.12 14:33 
Moin!

Nimm das Default-Gateway aus der IP-Config raus, dann geht nur noch LAN. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
begin //wlan on
ShellExecute(Application.Handle, nil'netsh',
'wlan delete filter permission=denyall networktype=infrastructure'nil, SW_HIDE);
end;
.
begin //wlan off
ShellExecute(Application.Handle, nil'netsh',
'wlan add filter permission=denyall networktype=infrastructure'nil, SW_HIDE);
end;
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 15.10.12 20:12 


Zuletzt bearbeitet von hathor am Mo 07.09.15 15:43, insgesamt 1-mal bearbeitet
LittleBen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: 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 user profile iconhathor genannt hat wunderbar funktioniert.

Noch einen schönen Sonntag,
Littleben
hungrycoder
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Do 10.01.13 16:19 
Versteh dein Problem nicht ganz...
ausblenden volle Höhe 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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
//Enable a NIC
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);
//Disable a NIC
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
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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?
LittleBen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Sa 12.01.13 15:59 
Da muss ich dich wohl enttäusche :P
Siehe hier
msdn.microsoft.com/e...85%28v=vs.85%29.aspx
und
msdn.microsoft.com/e...64%28v=vs.85%29.aspx hier.

Dann wirst du folgendes sehen:
Zitat:
Minimum supported client
Windows Vista [desktop apps only]

Minimum supported server
Windows Server 2008 [desktop apps only]

Für diesen Beitrag haben gedankt: hungrycoder
hungrycoder
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Sa 12.01.13 16:21 
Leider kenne ich auch keine andere Möglichkeit. Du könntest noch user profile iconNarses Idee versuchen umzusetzen. Ist zwar keine schöne Methode, aber müsste funktionieren.
hungrycoder
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: So 13.01.13 22:45 
Da ich mich damit selbst nicht so super auskenne, muss ich die Frage wohl an user profile iconjaenicke weiterleiten, denn er hat normalerweise auf alles eine Antwort :P
hungrycoder
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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.
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Mo 14.01.13 14:32 
Hier werden noch alternativen zur Lösung ab Windows Vista aufgelistet: slecluyse.wordpress....r-disable%C2%A0nics/