Hi,
ich habe dieses Script geschrieben
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Icon.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include<Misc.au3>
;Durch dieses Script wird die DFÜ-Verbindung gestartet
;Zusätzlich wird noch der Internet Explorer gestartet
;Wird das Script während einer aktiven Internetverbindung angeklickt, wird die Verbidung getrennt
;Außerdem werden dann noch alle Internet Explorer Fenster geschlossen
$titel = "Netzwerkverbindungen"
$titel2 = "Verbinden mit"
Opt("WinTitleMatchMode", 2)
[/autoit] [autoit][/autoit] [autoit]$dll = DllOpen("user32.dll")
While 1
If _IsPressed("20", $dll) Then
$abrufen = 1
Else
$abrufen = 0
EndIf
ExitLoop
WEnd
DllClose($dll)
[/autoit] [autoit][/autoit] [autoit]If $abrufen = 1 Then
ShellExecute("C:\Programme\Outlook Express\msimn.exe")
WinWait("- Outlook Express")
WinActivate("- Outlook Express")
Send("^m")
Sleep(100)
WinClose("- Outlook Express")
ShellExecute("C:\Programme\Internet Explorer\iexplore.exe")
ElseIf $abrufen = 0 Then
Run("Rasphone.exe")
WinWait($titel)
If ControlCommand($titel, "&Verbinden...", "Button1", "IsVisible", "") Then
ControlClick($titel, "&Verbinden...", 1449)
WinWaitClose($titel, "&Verbinden...")
ShellExecute("C:\Programme\Internet Explorer\iexplore.exe")
Else
ControlClick($titel, "&Auflegen", 1449)
WinWait($titel, "&Ja")
ControlClick($titel, "&Ja", 6)
WinWait($titel, "Abbrechen")
ControlClick($titel,"Wählen &Sie eine Netzwerkverbi","Button2")
Do
WinClose(" - Microsoft Internet Explorer")
If WinExists("Internet Explorer", "&Registerkarten schließen") Then ControlClick("Internet Explorer", "&Registerkarten schließen", 6)
Until Not WinExists(" - Microsoft Internet Explorer")
EndIf
EndIf
Es soll die DFÜ-Verbindung und anschließend der IE gestartet werden.
Dies funktioniert.
Wenn ich jedoch die "strg"-Taste drücke und das Script starte, soll Outlook Express gestartet werden, Die E-Mails abgerufen werden (dadurch wird auch die Internet-Verbindung gestartet) und der IE geladen werden.
Leider ist nachdem das Script beendet ist die Tastatur verstellt.
Enter funktioniert nicht mehr, usw.
Erst wenn ich den PC neustarte, funktioniert sie wieder.
Denke das hat mit der dll zu tun.
Aber was stimmt da nicht
EDIT: Hab mal nach und nach einzelne Befehle deaktiviert.
Also wenn ich
Send("^m")
[/autoit]weglasse, dann geht die Tastatur.
EDIT2: Hab nun die zu überprüfende Taste von Strg auf die Leertaste geändert und nun geht es.
Warum weiss ich allerdings nicht sicher
Kann es sein, dass es zu Problemen kommt, wenn die zu überprüfende Taste gleich ist wie die Tastenkombi (Strg+m) die später ausgeführt wird.
Aber zu diesem Zeitpunkt ist ipressed ja schon abgeschlossen.
Naja Hauptsache es funktioniert.
Wenn es mir trotzdem jemand erklären könnte warum dies so ist, hätte ich nix dagegen