Tschuldigung.
Also, es geht mir darum, einen Optokoppler irgendwie anzusteuern. Send Scrolllock fällt weg, weil die klicks aus irgendeinem Grund auf meinem Rechner ungenau sind.
grüße tobias
Beiträge von tobi_girst
-
-
die idee ist gut! und einfach umzusetzen:
[autoit]
[/autoit]
If $CmdLine[0]>0 AND $CmdLine[1] = "load" Then
lade_etwas ()
else
Run (@ScriptFullPath &" load")
GUICreate("titel", -1, -1, 100, 100)
$b_start = GUICtrlCreateButton("Starten", 10, 10, 80, 30)
EndIf
#####################################################
If $CmdLine[0] > 0 Then
Switch $CmdLine[1]
Case "two"
Run (@ScriptFullPath & " three")
MsgBox (0, "Multithreading4AutoIt", "2nd Thread")
Case "three"
MsgBox (0, "Multithreading4AutoIt", "3rd Thread")
EndSwitch
Else
Run (@ScriptFullPath & " two")
MsgBox (0, "Multithreading4Autoit", "1st Thread")
EndIf
muss übrigens compiliert sein, um zu funktionieren -
Grüß euch!
[autoit]
Ich habe folgendes Problem: weil ich nicht mit Mikrokontrollern arbeiten kann habe ich die Tastatur-LED "Scroll" durch einen Optokoppler erstetzt um den Kanal+ schalter auf meinem Receiver zu betätigen. Auf meinem alten XP-Rechner hat das gut (genug) funktioniert, aber seit ich einen Win7-Rechner von HP verwende, sind die Klicks sehr unregelmäßig, manche werden gar nicht ausgeführt, was darin endet, dass die berechnete Kanalnummer nicht mehr mit der eigentlichen zusammenpasst.
Ich verwende folgenden Code:$num = Random (1, 30) ;Anzahl der hochzuschaltenden Kanäle kann zw. 1 & 30 liegen
[/autoit]
For $i = 1 to $num
Send ("{ScrollLock on}")
Sleep (100)
Send ("{ScrollLock off}")
Sleep (100)
Next
Gibt es eine andere möglichkeit, diese Aufgabe zu lösen?
Ich hätte gedacht, vielleicht kann man die LED via DLL ansteuern oder einen Anschluss am PC manipulieren oder den Arduino1 zu verwenden, den mir ein Kollege geschenkt hat (was GROßARTIG wäre!)
LG und danke im Vorraus
Also, ich habe leider nur Lautsprecher-Anschluss, Ethernet, und natürlich USB2.0 Natürlich wäre ich auch nicht abgeneigt, kleinere Summen für PCIE-Karten oder USB2Serial auszugeben.
So, werd jez weiterrecherchierenGeht es, dass man Strom auf den Lautsprecheranschluss über AutoIt+DLL gibt und ihn wieder wegnimmt?
-
[Blockierte Grafik: http://media.tumblr.com/tumblr_lxwd5xKaF81qc3dbl.jpg]
von der Funktion hab ich noch nie gehört...egal, 10min zeit tot... -
Nur mein kleiner Restrechner. Hilft zB, wenn man die Aufgaben eines Volksschülers kontrollieren will.
Er funktioniert nach folgendem Prinzip: Zuerst wird die Rechnung mit Komma gelöst, danach die volle Zahl abgezogen und mit dem Nenner multipliziert.
zB: -
Hallo!
Ich beziehe mich auf folgenden Artikel: [ offen ] Context Menu
Ich möchte die Element-Liste aber nicht vordefinieren sondern per _FileListToArray () einspielen.
Leider wird dann die funktion WM_COMMAND nicht mehr ausgeführt. iCH habe die Abfrage-Schleife dann in die While-Schleife gepackt;sie gibt aber immer 1 zurück anstatt der ID des Elements
Hier mein SkriptSpoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <file.au3>
#include <GuiMenu.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Global Const $tagSHFILEINFO = "hwnd hIcon;int iIcon;dword Attr;wchar DisplayName[260];char TypeName[80]"Global Const $SHGFI_ICON = 256
[/autoit] [autoit][/autoit] [autoit]
Global Const $SHGFI_DISPLAYNAME = 512
Global Const $SHGFI_TYPENAME = 1024
Global Const $SHGFI_ATTRIBUTES = 2048
Global Const $SHGFI_ICONLOCATION = 4096
Global Const $SHGFI_EXETYPE = 8192
Global Const $SHGFI_SYSICONINDEX = 16384
Global Const $SHGFI_LINKOVERLAY = 32768
Global Const $SHGFI_SELECTED = 65536
Global Const $SHGFI_ATTR_SPECIFIED = 131072
Global Const $SHGFI_LARGEICON = 0
Global Const $SHGFI_SMALLICON = 1
Global Const $SHGFI_OPENICON = 2
Global Const $SHGFI_SHELLICONSIZE = 4
Global Const $SHGFI_PIDL = 8
Global Const $SHGFI_USEFILEATTRIBUTES = 16#include <Constants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
$dir = 'c:\applinks'
$dir = 'c:\users\girstmair\startfolder\apps'
$filfol = _FileListToArray ($dir)$Handle = GUICreate("")
[/autoit] [autoit][/autoit] [autoit]Dim $entry[$filfol[0]+1]
[/autoit] [autoit][/autoit] [autoit]$hMenu = _GUICtrlMenu_CreatePopup ()
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To $filfol[0]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If StringRight ($filfol[$i], 4) = ".lnk" Then
$name = StringTrimRight ($filfol[$i], 4)
Else
$name = $filfol[$i]
EndIf
_GUICtrlMenu_InsertMenuItem ($hMenu, $i-1, $name, $entry[$i])
If StringRight ($filfol[$i], 4) = ".lnk" Then
$ico = FileGetShortcut ($dir&"\"&$filfol[$i])
ConsoleWrite ($ico&@crlf)
;~ $hBmp = _WinAPI_LoadImage (0, $ico[4], $IMAGE_ICON, 16, 16, BitOR($LR_LOADTRANSPARENT, $LR_LOADFROMFILE))
$hbmp = _WinAPI_CreateSolidBitmap (0, 0x880055, 16, 16)
_GUICtrlMenu_SetItemBitmaps ($hMenu, $i-1, $hBmp, $hBmp)
Else
$hbmp = _WinAPI_CreateSolidBitmap (0, 0x550088, 16, 16)
_GUICtrlMenu_SetItemBitmaps ($hMenu, $i-1, $hBmp, $hBmp)
EndIf
Next
menue()Func OnAutoItExit()
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlMenu_DestroyMenu ($hMenu)
EndFunc;~ ; Register message handlers
[/autoit] [autoit][/autoit] [autoit]
;~ GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
;~ ;;http://www.autoit.de/index.php?page…8530#post148530While 1
[/autoit] [autoit][/autoit] [autoit]
;~ Sleep(10)
For $id = 1 To $filfol[0]
Switch GUIGetMsg ()
Case $entry[$id]
ConsoleWrite ($id)
Exit
EndSwitch
Next
Wend;~ ; Handle WM_COMMAND messages
[/autoit] [autoit][/autoit] [autoit]
;~ Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam=True)
;~ For $id = 1 To $filfol[0]
;~ Switch $iwParam
;~ Case $entry[$id]
;~ ConsoleWrite ($i)
;~ Exit
;~ EndSwitch
;~ Next
;~ EndFunc ;==>WM_COMMANDFunc Menue()
[/autoit]
_GUICtrlMenu_TrackPopupMenu ($hMenu, $Handle)
EndFunc
ich bin um jede Hilfe dankbar!
lg -
-
Danke i2c (und natürlich auch euch anderen)!
Nun, ich bin mit dem Skript fertig; ich bin euch allen sehr dankbar!!
lg tobias -
Leider kenne ich mich mit regulären Ausdrücken nicht aus. Ich habe die UDF ausgegraben und den _StringBetween-Code so umgebaut:
PHP
Alles anzeigenfunction _StringBetween($s_String, $s_Start, $s_End) { $s_case = "(?i)"; $s_pattern_escape = "(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)"; $s_Start = preg_replace ($s_Start, $s_pattern_escape, "\\$1"); $s_End = preg_replace ($s_End, $s_pattern_escape, "\\$1"); $a_ret = preg_match_all($s_String, "(?s)" & $s_case & $s_Start & "(.*?)" & $s_End, 3); Fehlerzeile!1 Return $a_ret; }
bei der Zeile 8 kommt folgende Fehlermeldung: Fatal error: Only variables can be passed by reference in D:\xampp\htdocs\readres.php on line 31
ich habe aber keine Ahnung, ob ich überhaupt die richtigen Funktionen verwende :wacko: :wacko:
SoftCreatR's Schnipsel habe ich auch nicht zurechtbekommen.
Mein Programmierer-Herzgehört eben AutoIt; PHP brauche ich fast nie und kann deshalb auch nur die Basics.
Bitte um Hilfe;
tobias -
Grüß euch!
ich habe ein Skript geschrieben, welches den HTML-Code von einer Website ausliest und in ein Array speichert. Dafür verwende ich momentan _INetGetSource () [Blockierte Grafik: http://traveleworld.com/images/tick.png], _StringBetween () [Blockierte Grafik: http://www.dsl-surfer24.de/custom_pages/gfx/icons/tick_off.gif], StringSplit (), StringLeft (), StringTrimLeft (), StringRight () und StringTrimRight () sowie _ArraySort ().
Ich möchte das Skript jetzt auf meinen Webspace schieben und muss es dafür in PHP umformen.
Ich habe es bereits geschafft, _INetGetSource () [Blockierte Grafik: http://traveleworld.com/images/tick.png] , zu umschreiben, Finde aber keine Funktion, die _StringBetween () [Blockierte Grafik: http://www.dsl-surfer24.de/custom_pages/gfx/icons/tick_off.gif] , ersetzt (keine Funktion schreibt die Ergebnisse in ein Array).
Ich hoffe, hier kann mir jemand helfen.
lg tobias
PS: Ist etwas Offtopic; hoffentlich störts nicht allzu sehr -
15 min coden gegen Langeweile...und gegen ACTA!
Zeigt in schönem 7Segment-Style die aktuelle (Überprüfung alle 60*1000ms) Zahl der Gegner und darunter ein Browserwindow wahlweise in DE oder EN mit der Petition zum Unterschreiben.
Font-Credit im Script -
Neue Version:
- Komplett neu geschrieben
- Fängt den Cursor nun immer ein
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
[/autoit] [autoit][/autoit] [autoit]
Author: myNameScript Function:
[/autoit] [autoit][/autoit] [autoit]
Erstellt eine unsichtbare "Wand" rechts vom Schließen-Button eines maximierten
Fensters am linken=Hauptmonitor und beim Desktop-Anzeigen-Bereich.
Exit-Codes: 0: Programm vom User geschlossen
1: Programm wird bereits ausgeführt (_Singleton)
2: Nicht Windows 7 (@OSVersion)
3: Hauptmonitor nicht links vom Extender#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit]
If _Singleton (@ScriptName, 1) = 0 Then
MsgBox (16, "Trap MinX, girst9900", "TrapMinX is already running")
Exit 1
EndIf
If @OSVersion <> "WIN_7" Then
MsgBox (16, "Trap MinX, girst9900", "Only working on Windows 7")
Exit 2
EndIf
$fullres = WinGetPos ("Program Manager")
If $fullres [0] = @DesktopWidth And $fullres [1] <> @DesktopHeight Then
MsgBox (16, "Trap MinX, girst9900", "This program requires a dual monitor setup with main screen left and extend screen right")
Exit 3
EndIf
Opt ("TrayMenuMode", 1)
Opt ("WinWaitDelay", 1)
$exit = TrayCreateItem ("Quit")
TraySetToolTip ("Trap MinX")
While 1
If TrayGetMsg () = $exit Then
Exit 0
EndIf
$awp = WinGetPos (WinGetHandle(""))
If MouseGetPos (0) < @DesktopWidth-100 Or _
(MouseGetPos (1) < 20 And MouseGetPos (0) < @DesktopWidth And BitAND (WinGetState (WinGetHandle("")), 32) And $awp[0] < 0) Or _
(MouseGetPos (1) > @DesktopHeight-40 And MouseGetPos (0) < @DesktopWidth) Then
_MouseTrap (0, 0, @DesktopWidth, @DesktopHeight)
Else
_MouseTrap ()
EndIf
WEnd -
Für alle, die zwei Bildschirme besitzen und immer über den Rand eines Monitors hinausdüsen!
Erstellt 2 MouseTraps: über dem Desktop-Anzeigen-Button von Win7 (immer) und wenn ein Fenster am linken Monitor maximiert ist über dem [x].
Das ganze ist auf meine 2 1980x1080 Monitore mit dem Hauptbildschirm links ausgelegt, dürfte sich aber sicher leicht umprogrammieren lassen.
lg tobias
leider reagiert die Schleife nicht, wenn man zu schnell heranbraust, daher sollte man den trap-bereich vergrößernSkript
[autoit]#include <Misc.au3>
[/autoit]
Opt ("TrayMenuMode", 1)
Opt ("WinWaitDelay", 1)
$run = True
$exit = TrayCreateItem ("Quit")
TraySetToolTip ("Trap MinX")
TrayTip ("Trap MinX", "by [email='tobi_girst@autoit.de'][/email]; v9.9.0.0", 3)
_Singleton (@ScriptName)
While 1
;;;Desktop anzeigen (rechts unten)
While MouseGetPos (0) > @DesktopWidth-13 _ ; Maus links auf Button (innerhalb)
And MouseGetPos (1) > @DesktopHeight-38 _ ; Maus oben auf Button (innerhalb)
And MouseGetPos (0) < @DesktopWidth _ ; Maus rechts von Button (außerhalb)
And MouseGetPos (1) < @DesktopHeight ; Maus unterhalb von Button (außerhalb)
_MouseTrap (@DesktopWidth-15, @DesktopHeight-40, @DesktopWidth, @DesktopHeight)
WEnd
;;;Maximiertes Fenster schließen
While MouseGetPos (0) > @DesktopWidth-49 _ ; Maus links auf Button (innerhalb)
And MouseGetPos (1) >= 0 _ ; Maus oberhalb von Button (außenhalb)
And MouseGetPos (0) < @DesktopWidth+1 _ ; Maus rechts von Button (außerhalb)
And MouseGetPos (1) < 16 _ ; Maus unten auf Button (innerhalb)
And BitAND (WinGetState (WinGetHandle("")), 32) ; Fenster maximiert
_MouseTrap (@DesktopWidth-51, 0, @DesktopWidth, 18)
WEnd
_MouseTrap ()
If TrayGetMsg () = $exit Then
Exit 0
EndIf
WEnd -
Danke ytwinky!!!! Durch das umleiten in eine TXT kann ich das benötigte umleiten!!
lg -
Es existiert ja noch kein Quellcode; alle meine bisherigen Versuche sind gescheitert. Ich finde nur Beispiele, die aus einer im Skript erstellten CMD lesen.
Ich drücke mich oft etwas kompliziert aus, daher meine Frage noch einmal zusammengefasst: >Wie kann ich aus einer bereits existierenden Konsole etwas auslesen, von der ich den Titel kenne?<lg
-
Hallo!
Ich habe eine Batch-Datei auf meinem Rechner (WinXP x86), die startet ein Java-File mit parametern (Batch generiert den startparam). in diesem java-File wird dann der aktuelle Status angezeigt. Den möchte ich auslesen, bis er bei "Server started sucessfully" stehenbleibt.
Meine bisherigen Versuche mit StdOutRead() waren alles misserfolge.
Ich habe das Batchfile mit Run() gestartet und dann eine Schleife durchlaufen lassen und StdOut() ständig in die Konsole schreiben lassen.
Danke im Vorraus! -
Win 7 hab ich eh auf meinem Hauptrechner (wie gesagt, vista ist der alte Rechner), vllt. krieg ich noch eine Lizenz (Weihnachten kommt ja bald)Nur zu hoffen, dass WinTv auf W7 läuft...
Abhängigkeitsdienste hab ich bereits geschaut, gibs keine. Aber WFW is abhängig von diesen SystemkomponentenCode,+BFE||+Remoteprozeduraufruf (RPC)| |-DCOM-Server-Prozessstart'+Windows-Firewallautorisierungstreiber
wär doch schön, wenn man sich das Update von Windows v6,0 auf v6,1 ersparen könnte.HDD gekauft. W7Lizenz gekauft, jetzt wird installiert! Danke BLinz für deine Mühe!
Thema hat sich somit erledigt. -
wo ich es neu aufsetze ..."
haha...Gleicher Gedanke! Habe sogar schon eine HDD bei unserem Dorfshop bestellt (daten4Schule noch am Vista drauf) !
Dienste->WindowsFirewall->Starten->"Der Dienst Windows Firewall auf Lokaler Computer konnte nicht gestartet werden.\Fehler 1068: Der Abhängigkeitsdienst oder die Abhängigkeitsgruppe konnte nicht gestartet werden." -
kaspersky ist nur antivir, weil die lizenz abgelaufen ist hab ich es jetzt einmal gegen avg free ausgetauscht und systemcheck gemacht. problem weiterhin da. die comodo firewall hab ich gedacht, sollte die andere vollständig ersetzen, hat nicht geklappt.
werde die fw wieder löschen.
im internet habe ich schon nach winvista fw gegooglet, aber die angebotenen problemlösungen scheitern. gibt es keine install.exe für die Firewallsoftware? oder ist die auf der Vista-cd dabei (dann könnte ich auch hier einen dl-link gebrauchen)
sry für kleinschreibung, habs eilig
lg tobi -
danke! auch zu AutoIt-Fremden Themen wird einem hier promt geholfen.
Was ich also getan habe:
1. Windows Firewall geöffnet
2. Status: "Der Windows Firewalldienst wird nicht ausgeführt"
3. Windows FW einschalten -> Status: "Der Dienst WFW konnte nicht gestartet werden"Kaspersky Antivirus 09 hat anscheinend keine Firewallfunktion, so wie ich das beurteilen kann.
Danke für deinen Lösungsvorschlag, auch wenn ich dem Problem noch nicht näher gekommen bin.
Lg_______________________________________________________
edit: Habe die Comodo- Firewall installiert, funkitoniert immer noch nicht.