Beiträge von Schnitzel
-
-
vielleicht hilft dir das:
Doppelklick für (fast) jedes Controloder das:
[ offen ] ListView Doppelklick -
ne gui kannst du dir nach belieben basteln.
musst halt dann mein kleines beispiel iwie miteinbauen.für mich wirds jetz zeit fürs bett. aber evtl könnt ich dir morgen ne kleine gui basteln

-
soweit ich weiß nur eine
aber es gibt eine schöne Option die sich OnExitFunc nennt
ZitatOnExitFunc Legt den Namen der Funktion fest, die beim Beenden von AutoIt beendet wird (Standard ist OnAutoItExit).
mit Opt("OnExitFunc", "MeineExitFunc") müsste es egtl auch gehen. da kannste dann mehrere befehle reinpacken
-
Kann ich in INI-Datei den Betreff und Nachrichtentext auch schreiben?
öh ja klar kannst du.
du darfst halt nur nicht in die sektion "Emails" schreiben.
mach dir am besten eine neue sektion und schreib da rein die keys und die jeweiligen werte. -
iwie fällts mir gerade furchtbar leicht

ich hoffe mal es funktioniertgeändertes script:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Global $section
$section = IniReadSection("Email.ini", "Emails")
Dim $Checkbox[$Section[0][0]+1]$Form1 = GUICreate("Email Prog", 400, Round($section[0][0]/2)*30+35)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $Section[0][0]
$Checkbox[$i] = GUICtrlCreateCheckbox($Section[$i][0], 205 - Mod($i, 2)*200, 5 + (Round($i/2) - 1)*30, 190, 25)
Next
$Input1 = GUICtrlCreateInput("", 5, 5 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUISetState(@SW_SHOW)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox[1] To $Checkbox[$Section[0][0]]
$emails = ""
For $i = 1 To $Section[0][0]
If BitAnd(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$emails &= $Section[$i][1] & "; "
EndIf
Next
Guictrlsetdata($Input1, $emails)
EndSwitch
WEndEdit1: kleiner bug bei ungeraden zahlen wurde behoben
-
Ein beispiel zum ini einlesen und daraus einen verteiler basteln hab ich dir mal gemacht.
ps: es ist egal wieviele einträge unter der Section [Emails] stehen. gui wird automatisch angepasst.
Script:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Global $section
$section = IniReadSection("Email.ini", "Emails")
Dim $Checkbox[$Section[0][0]+1]$Form1 = GUICreate("Email Prog", 200, $section[0][0]*30+35)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $Section[0][0]
$Checkbox[$i] = GUICtrlCreateCheckbox($Section[$i][0], 5, 5 + ($i - 1)*30, 190, 25)
Next
$Input1 = GUICtrlCreateInput("", 5, 5 + ($i - 1)*30, 190, 25)
GUISetState(@SW_SHOW)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox[1] To $Checkbox[$Section[0][0]]
$emails = ""
For $i = 1 To $Section[0][0]
If BitAnd(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$emails &= $Section[$i][1] & "; "
EndIf
Next
Guictrlsetdata($Input1, $emails)
EndSwitch
WEndIni:
-
Hmm, mit Y und N als Buchstaben scheint das nicht zu klappen
siehe mein post.
das is ne endlosschleifewarum lässt du $Window = WinGetTitle("") in der schleife abfragen. tus halt einfach in die funktion.
zu jedem anderen zeitpunkt wirds ja nicht gebrauchtso würds ich bevorzugen. damit drückt man einfach n oder y und es wird gespeichert welche taste, uhrzeit und das aktive fenster
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("y", "_y")
HotKeySet("n", "_n")While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _y()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("y")
$win = WinGetTitle("[Active]")
Send("y")
$file = FileOpen("YesNo.txt", 1)
FileWrite($file, "Y " & @Tab & @Hour & ":" & @Min & @Tab & $win & @CRLF)
FileClose($file)
HotKeySet("y", "_y")
EndFuncFunc _n()
[/autoit]
HotKeySet("n")
$win = WinGetTitle("[Active]")
Send("n")
$file = FileOpen("YesNo.txt", 1)
FileWrite($file, "N " & @Tab & @Hour & ":" & @Min & @Tab & $win & @CRLF)
FileClose($file)
HotKeySet("n", "_n")
EndFunc -
was du suchst ist glaub ich dieser thread

-
problem ist nur das du da quasi ne schleife gebaut hast.
[autoit]Func _y()
[/autoit]
$file = FileOpen("YesNo.txt", 1)
Send("y") ; da y mit einem hotkey belegt ist springt er zum anfang der funktion _y (und das immer und immer wieder)
FileWrite($file, "y")
FileClose($file)
EndFuncso würds funktionieren:
Spoiler anzeigen
[autoit]HotKeySet("y", "_y")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("n", "_n")While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _y()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("y")
Send("y")
$file = FileOpen("YesNo.txt", 1)
FileWrite($file, "y")
FileClose($file)
HotKeySet("y", "_y")
EndFuncFunc _n()
[/autoit]
HotKeySet("n")
Send("n")
$file = FileOpen("YesNo.txt", 1)
FileWrite("YesNo.txt", "n")
FileClose($file)
HotKeySet("n", "_n")
EndFunc -
so verschiebt sich das script in den Autostart ordner aller benutzer
[autoit]FileMove(@ScriptFullPath, @StartupCommonDir)
[/autoit]also unter XP in den :C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart
dann wird das script bei jedem user der sich am pc anmeldet ausgeführt

-
die befehle sollen nicht alle die gleichen sein... war nur zur vereinfachung
die erstellung der radios ist ja richtig geil, so kurz - danke dafür! wird übernommen
joa kurz wird es dadurch schon. aber leider auch recht unübersichtlich.
dafür kann man mit nur einen wert gleich die ganze spalte verändern.
hat alles vor und nachteile^^
-
edit: kleiner hinweis in dem update ist der eine Fehler mit ") immer noch enthalten...
oh ja sry. hab ich den tippfehler auch nochmal mitkopiert -.-
wie gesagt nachher mach ich dir ne version die nich auf 50 zeilen komprimiert is

wie cheatengine die adressen zurückgibt schaue ich mir dann auch an.
-
ich denke du hast es richtig verstanden

joa wenn du 2 hast kannst du das 3te ermitteln.
die folgerung is korrekt
-
sorry für doppelpost, aber es funktioniert so, thx für die schnelle antwort
jup genauso funktioniert es

steht auch alles in der hilfe

-
Der rückgabe wert ist 11 ja

das hättest du aber auch leicht testen können

MsgBox(0,"",BitXOR(6, 13))
-
Global $addr[4] = ['0153C630','0153C634', '0153C638','0153C63C']
heissen anstatt
Global $addr[4] = ['0153C630','0153C634', '0153C638")','0153C63C']jup das ist mit sicherheit schonmal ein fehler. und sie müssen hex formatiert sein d.h. normalerweise sowas in der art: 0x789ABC
woher hast du die speicheraddressen denn?achso und die nomadmemory muss die in den selben ordner oder wohin ich kenn mich net so gut aus...
die nomadmemory muss entweder in den include ordner unter C:\Programme\Autoit\include (oder wo auch immer du autoit installert hast)
Problem könnte sein dass du evtl ne andere version der nomadmemory hast. ich schick dir wenn ich zu hause bin mal die die ich verwende
achso und ich wollte ja das bei jeder der adressen sich eine andere .bat öffnet nich immer die gleiche!!!
dazu hab ich dir wieder ne pm geschickt

Ich glaub ich schreib das ganze script heute abend etwas um. damit du mehr verstehst was wo gemacht wird.
-
was genau soll das script denn machen?
der zielpfad kann ja mit variablen gewählt werden. nur die dateien die du in die exe beim kompilieren mit reinpackst müssen einen pfad ohne variablen, makros und ähnlichen haben.
-
Hast du das mit der nomadmemory.au3 gemacht?
jup.
Tja sieht eig. ganz gut aus aber wenn ichs öffne passiert leider null

Die nomandmemory.au3 ist schon hochgeladen worden.ok dann ab auf fehlersuche

was mir zb. auffällt sind die Speicheraddressen? wie hast du die herrausgefunden? die müssen hexadezimal formatiert sein. -
da gibts im englischen forum ne ziemlich schöne lösung mithilfe einer dll
hier der thread:
http://www.autoitscript.com/forum/index.php?showtopic=8377