AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Interne Netzwerkverbindung deaktivieren / aktivieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Interne Netzwerkverbindung deaktivieren / aktivieren?

Ein Thema von adrian4321 · begonnen am 26. Okt 2003 · letzter Beitrag vom 23. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#1

Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 14:10
Hallo,

ich suche verzweifelt nach einer Möglichkeit, unter Win2000 mit meinem eigenen Programm EINE LAN-Verbindung zu trennen oder wiederherzustellen; und zwar die richtige .
Der Rechner hätte zwei Netzwerkkarten und so kann bei Bedarf z.B. in einem Netzwerk mit Router die Verbindung zum Internetgekappt werden.

Ich hoffe, man kann verstehen, was ich meine.... Ich habe die Hilfedateien durchgekämmt und auch sonst nichts gefunden

Echt super wäre auch eine entsprechende Lösung für Kylix.

Vielen Dank schonmal!!
Adrian
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 14:28
Moin Adrian,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Eine unmittelbare Lösung habe ich nicht, aber zur Identifikation der Netzwerkkarten kannst Du hier mal nach Hier im Forum suchenGetAdaptersInfo suchen (ggf. auch nach Hier im Forum suchenGetPerAdapterInfo).
Weiterführende Informationen zu diesen, und damit zusammenhängenden Informationen, kannst Du wohl gut aus dem PSDK, oder im MSDN (msdn.microsoft.com) finden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 15:03
Moin zurück!

Ich habe mal bei MSDN reingeschaut und in der Suche nur den Befehl "WNetCancelConnection2" gefunden. Steht zwar nur was von Windows CE drin, ist aber auch in der SDK-Hilfe beschrieben.

Ich habe ihn so ausprobiert:
Delphi-Quellcode:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    result : dWord;
    begin
    result:= WNetCancelConnection2('Local Ethernet', 0, True); // "Local Ethernet" heißt die zu trennende Netzwerkverbindung (Verbindung! Kein Netzlaufwerk oder Printer!)
    caption:= IntToStr(result);
    end;
Als Ergebnis bleiben eine intakte Netzwerkverbindung und die Caption "2250" (?). Irgendetwas fehlt wohl....

Danke soweit!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 16:15
Moin Adrian,

hättest Du Dir den Rückgabewert mal so ausgeben lassen:

ShowMessage(SysErrorMessage(2250)); hättest Du den Klartext bekommen:
Diese Netzwerkverbindung ist nicht vorhanden.

WNetCancelConnection2 ist im Wesentlichen dafür gedacht Laufwerksverbindungen (u.ä.) zu trennen, also verbundene Resourcen.

Wo ich es mir noch einmal durchlese:
Du willst keine Verbindung trennen, sondern deaktivieren, und wieder aktivieren können.

Vielleicht hilft Dir da die "IP Helper Function Reference" weiter.
Ich denke da speziell an die Funktion SetIfEntry, um eine Karte zu aktivieren/deaktivieren, allerdings habe ich damit auch noch nicht gearbeitet, und weiss nicht, ob's damit tatsächlich geht.
Mit Hilfe anderer Funktionen der IPHLPAPI.DLL solltest Du auch das entsprechende Interface herausbekommen können.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 17:18
Herzlichen Dank! Ich habe mal mit Hilfe Deiner Tipps in MSDN recherchiert - und folgendes herausgefunden:

Mit SetIfEntry müsste es gehen, den dwIndex bekommt man mit MIB_IFROW heraus. Nur folgendes Problem: Sobald ich in Delphi die Klammer nach SetIfEntry aufmache, geschieht nichts . Die IPHLPAPI.DLL aus \system32 lässt sich nicht einbinden, aber ehrlich gesagt habe ich keinen Plan, wie ich da weitermachen muss. In MSDN ist auch von folgendem die Rede unter 'Requirements':

Header: Declared in Iphlpapi.h.
Library: Use Iphlpapi.lib.

bzw.

Header: Declared in Iprtrmib.h bei MIB_IFROW.

Wie muss ich weitermachen?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 17:50
Moin Adrian,

Zitat von adrian4321:
Sobald ich in Delphi die Klammer nach SetIfEntry aufmache, geschieht nichts
Diese Funktionen wurden nicht vordeklariert, dass müsstest Du selber machen, oder Dir Units besorgen, in denen das bereits geschehen ist. Gilt natürlich auch für die Strukturen (Datentypen) die hier erforderlich sind.

SetIfEntry könnte man z.B. so deklarieren:

function SetIfEntry(const pIfRow : PMIB_IFROW) : DWORD; stdcall; external 'IPHLPAPI.DLL'; oder so:

function SetIfEntry(var pIfRow : PMIB_IFROW) : DWORD; stdcall; external 'IPHLPAPI.DLL'; Die erste Variante wäre dann die Version, wie ich es machen würde, wenn ich die Funktion statisch importiere, die zweite wäre die borlandtypische, wie Du sie vermutlich auch bei den Header Übersetzungen der JEDIS finden würdest (wirst?).

Ich bevorzuge die C-typische Variante, da man hier "näher am Original" ist, und auch C-Beispiele leichter übersetzen kann.
Aber das ist Geschmackssache, finde ich.

In diesem Thread
Subnetzmaske/ Server finden
hab' ich auch mal Übersetzungen von Datenstrukturen der IPHLPAPI gepostet.
Nur mal so als Muster.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 18:23
Servus (sagt man bei uns eher als Moin),

PMIB_IFROW mault er bei mir als undef. Bezeichner an.

Ich weiß ich stelle mich wahrscheinlich ziemlich dumm an aber so tief war ich im System noch nicht drin habe bisher mehr Datenbankanwendungen und mathematisches Zeugs hergestellt

Tschüss, Adrian
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 18:38
Moin Adrian,

Zitat von adrian4321:
PMIB_IFROW mault er bei mir als undef. Bezeichner an.
Zitat von Christian Seehase:
Diese Funktionen wurden nicht vordeklariert, dass müsstest Du selber machen, oder Dir Units besorgen, in denen das bereits geschehen ist. Gilt natürlich auch für die Strukturen (Datentypen) die hier erforderlich sind.
und PMIP_IFROW ist der Pointer auf eine Struktur, die nicht vordeklariert ist, und somit auch der Pointer nicht.

Wie weiter unten im meinem letzten Posting erwähnt kannst Du Dir da Muster ansehen, ausserdem gib's vermutlich auch fertige Übersetzungen
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 26. Okt 2003, 20:03
Ich denke, jetzt kann ich mich selbst durchschlagen. Ist der Lerneffekt irgendwie größer!

Also ganz herzlichen Dank!!

Adrian
  Mit Zitat antworten Zitat
Markus
(Gast)

n/a Beiträge
 
#10

Re: Interne Netzwerkverbindung deaktivieren / aktivieren?

  Alt 11. Aug 2004, 07:46
Hallo,

jetzt muss ich diesen Beitrag nochmal aufgraben, aber weiß inzwischen jemand, wie man das macht?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz