Avatar billede netrnger Nybegynder
17. juli 2000 - 19:56 Der er 7 kommentarer og
1 løsning

Brugere koblet på via windows fil-deling

Jeg har brug for at hente data om hvilke brugere der er tilkoblet min windows-maskine, samt hvilke filer de evt. måtte have åben/er igang med at hente.

Windows's egen netwatch.exe illustrerer udemærket hvilke informationer det er jeg er ude efter. Informationerne skal bruges til at skrive i et lille LCD-display, så man dermed hele tiden kan holde med hvilke brugere der er tilkoblet.

Håber der er nogen der kan hjælpe...
Avatar billede sjensen Nybegynder
18. juli 2000 - 11:00 #1
Der findes en række API kald i windows der kan give dig de info. du søger.

Dem du skal kigge på er bl.a.

NetFileEnum: function supplies information about some or all open files on a server

WNetOpenEnum: function starts an enumeration of network resources or existing connections.

WNetGetUser: function retrieves the current default user name or the user name used to establish a network connection

Den første kan fortælle dig hvilke filer der er åbne.
Den anden til at finde alle forbindelser og for hver forbindelse bruges den tredie til at få info om den der har etableret forbindelsen.

NB! Disse API kald er taget fra hjælpen til Windows NT. Om det er helt samme kald til andre versioner af windows ved jeg ikke helt.
Avatar billede netrnger Nybegynder
18. juli 2000 - 11:49 #2
Nu skal det nok siges at jeg er meget lidt inde i API-kald, og sådan, så noget decideret kode og evt. uses, ville være en fin hjælp. Ved du evt. hvor man kan finde oplysninger om at komme igang med API-kald?

Jeg kan desuden oplyse dig at det skal bruges på windows98, og jeg programmerer det i Delphi4.

/jan
Avatar billede sjensen Nybegynder
18. juli 2000 - 14:10 #3
Ok,

API-kald kan også være noget af en hurdle at komme igang med hvis man ikke er vant til det.

Jeg har søgt lidt på eksperten og fundet nogle spm/svar der viser noget af det du er ude efter:

http://www.eksperten.dk/spm.asp?id=2787
http://www.eksperten.dk/spm.asp?id=8573
http://www.eksperten.dk/spm.asp?id=9343

Prøv at se på dem engang.

Derudover kan du med fordel se på Delphi Super Page (http://sunsite.icm.edu.pl/delphi/) og lede under D4 efter et komponent (med source) der hedder "TtvAPIThing" (eller bare lede efter "ApiThing"). Der er dels en lang række runtiner du kan bruge direkte uden at skulle vide for meget selv, og dels kan du i sourcen se hvovdan man kan gøre.

Og endeligt vil jeg anbefale dig at kigge på:

http://www.undu.com specielt afsnittet "articles". Der er også mange gode ting.

Og som Delphi programmør burde du måske også kigge på http://www.dapug.dk og melde dig til deres mailingliste.

Jeg håber det giver dig blod på tanden og gør det lettere at komme igang. Som Delphi programmør kan du ikke undvære det i det lange løb.
Avatar billede netrnger Nybegynder
18. juli 2000 - 22:47 #4
Nu har jeg endelig fået tid til at kigge lidt på det, og jeg er da også blevet klogere hvad API-kald angår, men jeg er stadig meget forvirret.

Jeg synes det er forvirrende med alle de nye typer der skal med som parametre og sådan. I spørgsmålet 8573 beskrev brugeren delphi utroligt godt hvordan man fik en simpel procedure til at virke i delphi, og det er sådan set også fint nok, og jeg fik det til at virke.
Men begynder jeg så selv at kigge på f.eks. WNetOpenEnum, så får jeg ikke så meget andet ud af det end at den skal have en helv*** masse parametre (som er typer jeg ikke kender), og så returnerer den noget jeg ikke aner hvad jeg skal/kan bruge til.

Jeg synes det er meget typer, som er henvisning til en anden type, der er henvisning til en anden type, og så begynder jeg altså at miste overblikket (hvis ikke jeg har mistet det for længe siden).

Ang. de henviste sites, så synes jeg ikke lige umiddelbart jeg kunne finde nogle "komme-igang-med-api" sider, men DSP-siden er ret genial...
TtvAPIThing har jeg også hentet, og kan da også give en masse informationer, men dog ikke lige dem jeg har brug for.

Jeg kunne mest af alt tænke mig et eksempel der er lige til at cut'n'paste og få til at køre (hvem kunne ikke det :)).
Avatar billede netrnger Nybegynder
18. juli 2000 - 23:17 #5
Via nogle af dine links har jeg fundet frem til en "LanManager API" som indeholder en netwatch-klon der kan vise de ting jeg har brug for.
Det er ved at blive sent nu, så imorgen vil jeg kigge koden igennem for at finde ud af om jeg kan anvende noget af det.

http://www.delphi-jedi.org/Jedi:APILIBRARY:640178065

Avatar billede borrisholt Novice
19. juli 2000 - 13:31 #6
DEn virker i hvertfald ikke under Windows NT

JEns B
Avatar billede netrnger Nybegynder
24. juli 2000 - 12:50 #7
Hej sjensen

Jeg har ikke haft vildt meget tid til at rode med det, så jeg har ikke fået det til at virke 100%, som jeg vil have det.

Men det ser ud til at jeg er kommet på rette spor med den LanManagerAPI, som jeg har fundet frem til via nogle af de links du har skrevet, så det vil nok være mest rimeligt at tildele dig pointsene, som jeg hermed gør.

Tak for hjælpen :)
Avatar billede sjensen Nybegynder
24. juli 2000 - 12:55 #8
selv tak !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester