Hallo Sam,
ein Script, das einen Button drückt, gibt's wohl nicht, aber man kann natürlich ein entsprechendes Programm schreiben. Das sollte man jedoch besser nur tun, wenn es wirklich keine andere Möglichkeit gibt. Programme werden schließlich nicht immer gleich schnell gestartet und da kann es schon mal passieren, daß ein Klick ins Leere geht, weil der Button nicht rechtzeitig da war. Ich hab mal ein kleines Programm in Visual Basic geschrieben, daß mir eine lästige Nag-Screen eines Grafik-Programms wegklickt. Aber das ist in Deinem Fall gar nicht nötig, da Du zur Not sogar mit VBscript einen Tastendruck simulieren kannst.
Nun, wozu braucht man eine freenet.exe? Überflüssig! Ich mach Dir folgenden Vorschlag:
Du legst zwei DFÜ-Verbindungen an, nämlich "Freenet" mit der Nummer 01929 und "Freenet18-8" mit 019231760 und verwendest mein VBscript:
' If not connected, connect to Freenet dependent on daytime
' Open browser with start page
Option Explicit
On Error Resume Next
Dim WshShell
Dim tempDir,tempFile
Dim fileSystem,rasphone
Dim tempLink,IE
Dim i,status
Dim zeit,provider
Const RT = 1
Set WshShell = WScript.CreateObject("WScript.Shell")
tempDir = WshShell.ExpandEnvironmentStrings("%TEMP%")
tempFile = tempDir & "\freenet-connection.tmp"
' Create scripting runtime FileSystemObject
Set fileSystem = WScript.CreateObject("Scripting.FileSystemObject")
' Redirect connection status to temporary file
WshShell.Run "cmd /c rasdial >" & tempFile,0,TRUE
If Err.Number Then
WScript.Echo "Es konnte keine temporäre Datei '" & tempFile & "' erzeugt werden"
Err.Clear
End If
' Read connection status from temporary file
Set tempLink = fileSystem.OpenTextFile(tempFile,RT)
status = tempLink.ReadLine
If Err.Number Then
WScript.Echo "Die Ausgabe von 'rasdial' konnte nicht gelesen werden"
Err.Clear
End If
tempLink.Close
fileSystem.DeleteFile(tempFile)
If Err.Number Then
WScript.Echo "Die temporäre Datei '" & tempFile & "' konnte nicht gelöscht werden"
Err.Clear
End If
If Left(status,16) <> "Keine Verbindung" Then online
zeit = Abs(Left(Time,2)) ' Get system time
If zeit > 7 And zeit < 18 Then ' Select provider
provider = "Freenet" ' 8 till 18 o'clock
Else
provider = "Freenet18-8" ' 18 till 8 o'clock
End If
' Connect to provider
Set rasphone = WshShell.exec("rasphone.exe -d " & provider)
Do While rasphone.Status = 0
WScript.Sleep 100
Loop
online:
Set IE = WScript.CreateObject("InternetExplorer.Application")
With IE
.navigate "about:blank"
.visible=0
End With
Do while IE.busy
loop ' Wait until Internet Explorer is ready
With IE
.navigate "http://www.google.de"
.visible=0
End With
For i = 1 To 2
WScript.Sleep 1000 ' Need to wait 1 second
With IE ' Renavigate to avoid Freenet site
.navigate "http://www.google.de"
.visible=1
End With
Next
WshShell.AppActivate "Microsoft Internet Explorer" ' Activate window
WshShell.SendKeys("% x") ' Maximize window
finish:
Set fileSystem = Nothing
Set rasphone = Nothing
Set IE = Nothing
Set WshShell = Nothing
WScript.Quit
Ich gehe einfach mal davon aus, daß Du Windows XP oder Windows 2000 hast; für Windows 9x kann man ein ähnliches Script verwenden. Jedenfalls bringt das Script einige Vorteile mit sich. Zunächst einmal wählt es selbstständig den günstigsten Tarif aus. Dann öffnet es nach der Einwahl automatisch den Internet Explorer und maximiert dessen Fenster. Und was ich besonders angenehm finde: ich muß mir nicht immer die dämliche Freenet-Startseite anschauen. Das Script ruft nämlich einfach zweimal hintereinander Google auf und überspringt dadurch die Freenet-Seite.
Viel Spaß!