Hvordan kan jeg checke om en bruger har installeret 'Client for Microsoft Networks', 'Dial-Up Adapter' og 'TCP/IP -> Dial-Up Adapter' i netværket, og hvis ikke, hvordan kan jeg så tvinge windows til at installer det...???
Jeg har haft computer de sidste 14 år, så jeg har et par år på bagen..... Jeg skal bruge Delphi til at sætte netværket op med, så det er derfor jeg lægger det ind under Delphi....
er der en eller anden der vil købe en amiga 2000 med kick 1.3 og og 2.04 med omskifter, 500 amiga disketter, en gammel bunke blade, en 1084s skærm, 2 drev, 6-7 joystisk, 2 mus, tastatur osv. 1000 kr så er det dit!
jeg har også en amiga 500 med externt tastatur og 200 disketter, 3 joysticks osv... ca 500 kr
HRASConn = DWord; PRASConn = ^TRASConn; TRASConn = record dwSize: DWORD; rasConn: HRASConn; szEntryName: Array[0..cRAS_MaxEntryName] Of Char; szDeviceType : Array[0..cRAS_MaxDeviceType] Of Char; szDeviceName : Array [0..cRAS_MaxDeviceName] of char; end;
TRasEnumConnections = function (RASConn: PrasConn; { buffer to receive Connections data } var BufSize: DWord; { size in bytes of buffer } var Connections: DWord { number of Connections written to buffer } ): LongInt; stdcall; //End RasConnectionCount =======================
function ConnectedToInternet: TConnectionType; var Reg : TRegistry; bUseProxy : Boolean; UseProxy : LongWord; begin Result := ctNone; Reg := TRegistry.Create; with REG do try try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet settings',False) then begin //I just try to read it, and trap an exception if GetDataType('ProxyEnable') = rdBinary then ReadBinaryData('ProxyEnable', UseProxy, SizeOf(LongWord) ) else begin bUseProxy := ReadBool('ProxyEnable'); if bUseProxy then UseProxy := 1 else UseProxy := 0; end; if (UseProxy <> 0) and ( ReadString('ProxyServer') <> '' ) then Result := ctProxy; end; except //Obviously not connected through a proxy end; finally Free; end;
//We can check RasConnectionCount even if dialup networking is not installed //simply because it will return 0 if the DLL is not found. if Result = ctNone then begin if RasConnectionCount > 0 then Result := ctDialup; end; end;
function RasConnectionCount : Integer; var RasDLL : HInst; Conns : Array[1..4] of TRasConn; RasEnums : TRasEnumConnections; BufSize : DWord; NumConns : DWord; RasResult : Longint; begin Result := 0;
//Load the RAS DLL RasDLL := LoadLibrary('rasapi32.dll'); if RasDLL = 0 then exit;
try RasEnums := GetProcAddress(RasDLL,'RasEnumConnectionsA'); if @RasEnums = nil then raise ERasError.Create('RasEnumConnectionsA not found in rasapi32.dll');
Hmm, ideen er vel at et program ikke selv skal gå ind og pille i brugerns netværksopsætning. Hvis tcp/ip ikke er installeret, kan man evt. fortælle brugeren hvordan det skal gøres, men ikke automatisk gøre det - der er nemlig nok fejlkilder i den proces i forvejen.
Som du nok har fundet ud af når du installerer netværket, så er der en del der kan gå galt - ingen grund til at lave et program der kan det samme som windows's eksisterende guide.
Jeg har fået lavet opgaven, og den er også kommet i produktion, så jeg har altså fundet ud af hvordan jeg skulle gøre. Det var sgu ingen dans på roser, men jeg har klaret det, og ja du har ret der er mange ting som kan gå galt, så der skal et par fejl checks rutiner til.....
Hmm, men er du sikker på at det er en god idé, når man nu tænker over det? Jeg ville fx. ikke tøve med at smide et program, der pillede i mine netværksopsætninger, ud! Jeg vil simpelt hen ikke finde mig i det, da der er gået en del tid med opsætningen af det...
hehehe, nej det er rigtigt, men dette program er ikke tiltænkt personer som dig. Det skal bruges af folk som ikke kan finde ud af at lave deres egen internet forbindelse. Det er et ISP program, så det skulle være rigtigt brugervenligt.......
Well, okay. Men hvordan skal folk nogensinde lære det, hvis de ikke kan gå igennem en 1-2-3 instruktion?
Anyways, fedt hvis det virker for begyndere... :o)
Synes godt om
Ny brugerNybegynder
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.