/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Finde HOSTS samt DNS > IP
Fra : crha
Vist : 680 gange
150 point
Dato : 18-09-05 15:28

Hejsa, jeg står og skal lave et lille program der skal opdatere HOSTS filen i Windows, men da denne fil er placeret forskelligt i forskellige versioner af Windows skal jeg bruge et program til i første omgang at lokalisere denne fil.
Er der en direkte måde at finde frem til denne fil? Jeg har nogle idéer til nogle betoder der kan bruges:
1. Jeg ved at man i batch programmer kan skrive %windir% og derefter finder den selv windows mappen på systemet... Hvis der er en lignende kommando i VB kan man vel bruge denne?
2. Måske kunne man tjekke brugerens version af Windows og opdatere filen ud fra dette?

Anden del af programmet går ud på at opdatere HOSTS med en IP adresse der findes via en DNS adresse.

Håber der forstås hvad jeg har brug for hjælp til, ellers bare spørg.

Mvh.
Casper

 
 
Kommentar
Fra : natmaden


Dato : 18-09-05 16:13

Øv ! det er lang tid siden at jeg sidst havde fat i VB5. og at huske det i hovedet ....nope går ikke.

måske at du kan finde lidt hjælp i VBS. På min win-me er en mappe (sampels) med eksembler. filtypen er *.vbs

Det er nok ikke meget hjælp, men nu er jeg da med i tåden, og hvis at jeg får støvet af mellem ørene, tja...

Mvh. Jørgen

Kommentar
Fra : litko


Dato : 18-09-05 18:59

Hvis du vil finde Windows directory kan du gøre det på følgende måde:

I et modul erklæres API:

Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Herefter kan der oprettes funktionen:

Function GetWindowsDir() As String
'-----------------------------------------------------------
' Calls the windows API to get the windows directory
'-----------------------------------------------------------
'
Dim strBuf As String
Dim intZeroPos As Integer

strBuf = Space$(255)

'
'Get the windows directory and then trim the buffer to the exact length
'returned and add a dir sep (backslash) if the API didn't return one
'
If GetWindowsDirectory(strBuf, 255) > 0 Then

intZeroPos = InStr(strBuf, Chr$(0))
If intZeroPos > 0 Then
strBuf = Left$(strBuf, intZeroPos - 1)
End If
If Right(strBuf, 1) <> "\" Then
strBuf = strBuf & "\"
End If
GetWindowsDir = strBuf
Else
GetWindowsDir = ""
End If
End Function


Kommentar
Fra : litko


Dato : 18-09-05 19:02

Der gik lidt ged i de sidste linier:

intZeroPos = InStr(strBuf, Chr$(0))
If intZeroPos > 0 Then
strBuf = Left$(strBuf, intZeroPos - 1)
End If

If Right(strBuf, 1) <> "\" Then

strBuf = strBuf & "\"

End If

GetWindowsDir = strBuf

Else

GetWindowsDir = ""

End If

End Function

Kommentar
Fra : litko


Dato : 18-09-05 19:07

Prøver endnu en gang:
If GetWindowsDirectory(strBuf, 255) > 0 Then

intZeroPos = InStr(strBuf, Chr$(0))

If intZeroPos > 0 Then

strBuf = Left$(strBuf, intZeroPos - 1)

End If

If Right(strBuf, 1) <> "\" Then

strBuf = strBuf & "\"

End If

GetWindowsDir = strBuf

Else

GetWindowsDir = ""

End If

End Function


Kommentar
Fra : crha


Dato : 19-09-05 18:06

Fedt, så har jeg windows mappen.. Din kode virkede efter hensigten ;)

Så mangler jeg bare en måde at tjekke windows versionen på.. Noget du kender til? =)

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407944
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste