Kann WinAPI-Funktion nicht aufrufen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Kann WinAPI-Funktion nicht aufrufen

Beitrag von Agent »

Moin moin.

Ich hab (mal wieder) ne Frage. Ich hab leider wenig Erfahrung mit der winapi.

Jetzt möchte ich mal auf einfache weise mein Net-Traffic auslesen. Im engl. Forum steht was von netstatisticsget_()...
Hab auf msdn nachgeschaut und mal folgendes auf die schnelle gecodet:

Code: Alles auswählen


*buffer=AllocateMemory(1000)
OpenFile(0,"c:\netnet.dat")
count=0
Repeat
  NetStatisticsGet_("","SERVICE_WORKSTATION",0,0,*buffer)
  WriteData(*buffer,1000)
  count+1
Until count=3

CloseFile(0)
MessageRequester("","fertsch",0)
Das funzt aber nicht. Fehler:
"Die Datei PurebaseicXXXXX.exe ist verknüpft mit dem fehlenden Export-NETAPI32.DLL:NetStatisticsGet"

Schade eigentlich. Muss ich mir die dll besorgen und registrieren???
Oder ist das mehr eine PB-Sache?
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Kann WinAPI-Funktion nicht aufrufen

Beitrag von Danilo »

Agent hat geschrieben:Fehler:
"Die Datei PurebaseicXXXXX.exe ist verknüpft mit dem fehlenden Export-NETAPI32.DLL:NetStatisticsGet"
Hast Du auch das richtige OS?

Code: Alles auswählen

Requirements:
Client: Requires Windows XP, Windows 2000 Professional, or Windows NT Workstation.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Hier die Requirements (MSDN October 2001; Platform SDK)

Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Unsupported.
Header: Declared in Lmstats.h; include Lm.h.
Library: Use Netapi32.lib.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Wo ist da jetzt der Unterschied zu Danilos geposteten Requirements außer dass dessen ausführlicher sind?
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Muss ich jetzt was dazu sagen? /:->
Nee, mag nicht! :lol:
PS: Wer von den Moderatoren will, kann es löschen. :cry: ( :lol: )
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

hm.... das ist es wohl.

Auf der Firmen-Rübe hier läuft nur win98. *lol*

Muss ich wohl doch bis zu Hause warten.

Gibts ne Möglichkeit diese Funktionalität auch unter win98 (möglichst alle win-os) zu haben? Net-traffic und co?
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Beitrag von Andreas21 »

:? ICh habe WinXP SP1 und bei mir wirt die "c:\netnet.dat" ja erstellt ohne Probleme nur jetzt die Frage die sich mir auf drängt. Die Datei ist mit 3000 0 nicht gerade viel ......... Ich habe doch etwas mehr Traffic /:->

Naja ich werde mal in die MSDN schauen :roll:
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Naja, schön dass das Grundprinzip schonmal bei dir geht ;-)

Den buffer hab ich nur für Testzwecke mal klein gehalten. Sollte ja auch nur mal nen Funktionstest werden.

Ich muss das mal auf winxp/2k testen... geht aber erst wenn ich zu Hause bin.

Wollte das eigentlich für alle Win-OS haben, aber die API-Funktion is ja nun nicht für alle....aber vielleicht hat hier jemand noch eine einfachere Lösung die unabhängig vom OS bzw Win funktioniert. Zumindest ist diese hier SEHR einfach.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Moin.

Habs eben (hier in der firma) mal auf nem XP Rechner compiled. Bei mir kommt da nix an Traffic rein. *buffer ist leer. Funzt das bei euch echt?
Habs nochmal kurz modifiziert...

Code: Alles auswählen


buffersize=1000
logfile$="c:\nettraffic.dat"
*buffer=AllocateMemory(buffersize)
OpenFile(0,logfile$)
count=0
nettrafficsize=0
MessageRequester("READY?","Press ok to start NetMonitor",0)
Repeat
  NetStatisticsGet_("","SERVICE_WORKSTATION",0,0,*buffer)
  nettraffic$=PeekS(*buffer)
  Debug "'"+nettraffic$+"'"
  If Len(nettraffic$)>0 : WriteData(*buffer,buffersize) : nettrafficsize+Len(nettraffic$):EndIf
  count+1 ; sicherheitshalber damit nicht endlossschleife
  Delay(5)
Until count=1000 Or nettrafficsize>1000

CloseFile(0)
MessageRequester("Done",Str(nettrafficsize)+" Bytes logged in "+logfile$,0)
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

bei den NetApi-Funktionen sollte man immer den Returncode auswerten ... :roll:
... bei mir (WinXP Pro SP2) kommt da nämlich RC=50, das heisst "not supported"

vielleicht findest Du das, was Du suchst im englischen Forum unter
http://purebasic.myforums.net/viewtopic ... ht=netstat

Gruß Stefan
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Antworten