Gå til innhold

Hente form fra annen maskin i nettverket


Anbefalte innlegg

Tenkte på å lage et program som kjøres på andre maskiner i et nettverk. Men at det åpnet feks form1.hide, form2.show og at form2 lå på en annen maskin og ble oppdatert jevnlig. Noen som har en kode til dette?

 

Evt lage en .exe fil som ligger på en annen maskin, som programmet kjører.

Lenke til kommentar
Videoannonse
Annonse

Slik jeg forstår, så skal du lagre informasjon i en form på en annen maskin i nettverket, eller skal du ha det slik at noen designer formen på en annen maskin?

 

uansett må du ha en nettverksprotokoll.

dette ville vel da være netbios.

Problemet er at jeg ikke har satt meg helt inn i netbios, men kanskje du kan finne ut av det. funksjonen heter "netbios(pak as NETBIOSTRUCT)"eller noe, du finner den i API Viewer.

 

Men her er hovedsaken:

For å designer form1 på en annen maskin, ville jeg laget de som en DLL som ble kompilert og sendt over nettverket, og at programmet da brukte UnloadLibrary(UnloadModule?) og LoadLibrary for å laste dem, og deretter GetProc()

Dette kan desverre ikke gjøres i Visual Basic 6, bare i C/C++ og Visual Basic.NET(men i vb.net bruker du system.Reflection.Assembly)

 

Hvis du bare skal hente informasjon må du finne ut av NetBIOS.

 

Var dette til hjelp over hodet?

Lenke til kommentar
  • 4 uker senere...

Visual Basic 6 KAN faktisk calle en dll-fil etter navn og modul i RUN-TIME.

Det innebærer riktig nok å bruke assembly, slik som i .NET, men koden er helt og fult ut skrevet i VB:

 

http://www.freevbcode.com/ShowCode.Asp?ID=1863

 

Du trenger ikke nødvendingvis bruke NETBIOS, det går sikkert fint med egenutviklete nettverksprotokoller som tar i bruk IP/TCP. Du lager ganske enkelt form2 som "serveren" som motar kommandoene fra form1. Winsock ocx kan sikkert brukes, noen kan nok oppleve problemmer grunnet mangel av filen, men det skulle sikkert gå, les mer om winsock på www.winsockvb.com

 

Når klienten er koblet til serveren (eller omvendt hvis du vil) så sendes en kommando som f.eks:

 

API gdi32,Ellipse,hdc,0,0,100,100

 

Legg merke til hdc som er da en intern variabel som jeg antar du omtrent uansett vil trenge ettersom alle "design" api-er tar i bruk denne (eller Hwnd). Enten kan du lage et eget script språk som håndterer dette, eller ganske enkelt en fin liten Replace kode, eller så kan du bruke Microsoft Scripting Control

 

Jeg la faktisk denne muligheten i et chatteprogram for litt siden. Bare for å prøve meg fram litt, men det chatteprogrammet var tydligvis litt for farlig. Bare de med administrative rettigheter kunne imidlertid sende API kommandoer, men likevel, pcen frøs et par ganger (API user32,BlockInput,1) og programmet klikket (API kernel32,FatalAppExit,0,"haha") og pcen sa takk og farvel (API user32,ExitWindowsEx,4 Or 2, 0).

 

Poenget er at du skal alltid være forsiktig når du åpner for muligheten å kalle opp API funskjoner på pcen din. Likevel, lykke til!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...