Seite 1 von 1

Netzwerkverfügbarkeit prüfen

Verfasst: 19. Mai 2006 21:09
von VikingGod
Hallo zusammen
bin neu in diesem Forum.

Wie ich schon festgestellt habe gibt es hier eine Reihe von kompetenten Leuten, die hilfreiche Tips auf Lager haben.

Hier poste ich einen Ausschnitt meines Codes, um unter Windows die Netzwerkverfügbarkeit abzuprüfen.
dazu muss lediglich die <windows.h> eingebunden werden und die Funktion "IsNetworkAlive" der DLL "sensapi.dll" abgefragt werden.

Das Problem ist, das mein Code nur unter Windows funktioniert...
Weiß jemand eine Lösung die unabhängig vom Betriebssystem ist;
gibt es eine ähnliche Methode im QT-Framework?


Besten Dank schonmal für die Antworten.

Hier der Code-Ausschnitt:

Code: Alles auswählen

	DWORD dwFlags;
	typedef bool (*DLLback)(DWORD*);
	DLLback IsNetworkAlive = (DLLback) QLibrary::resolve("sensapi.dll", "IsNetworkAlive");
	if (IsNetworkAlive)
	{
		if(IsNetworkAlive(&dwFlags))
			ui.lineEdit->setText( tr("- CONNECTED -" ) );
		else
			ui.lineEdit->setText( tr("- DISCONNECTED -") );
	}

Verfasst: 19. Mai 2006 21:17
von FlorianBecker
Hallo,

also es ist ja nun nicht so, das in Qt nicht jedes OS eine eigene Funktion benötigt.

Die QLibrary Klasse ist z.B. für jedes OS selbst geschrieben. Genauso wirst du es auch bei deiner Funktion machen müssen, da es nur OS spezifisch geregelt werden kann. Qt löst nur jeweils das Problem, einer einheitlichen API, aber das ist wohl doch zu speziell.

Verfasst: 19. Mai 2006 21:29
von VikingGod
Super Danke für die schnelle Antwort.
Genau das habe ich mir schon gedacht :D

Nun dann muss wohl eine extra Funktion implementiert werden ;)

naja wär ja zu einfach gewesen :D

Re: Netzwerkverfügbarkeit prüfen

Verfasst: 19. Mai 2006 21:37
von patrik08
VikingGod hat geschrieben: Weiß jemand eine Lösung die unabhängig vom Betriebssystem ist;
gibt es eine ähnliche Methode im QT-Framework?
Richtig das Api vom QT-Framework bezieht sich auf GUI.. auf alle OS was bereits sehr viel ist...
Die Idee ... und dass wie libs ecc... muss mann schon selber bitbringen...
In diesem forum bei ...
http://www.qtforum.de/forum/viewtopic.php?t=2064 geht es um einen whois e portscanner... und ich denke das mit der libcurl http://curl.haxx.se/ die auf mac , linux ,window sehr einfach zu installieren ist ... und eine liste mit gaengigen ports ... kann so einen netzwerk check ohne grossem aufwand realisiert werden...