ja ich hab doch gewusst das da noch irgendwo was sein muss ![]()
hier der link:
[ offen ] Autoit Script vorhanden -- wie einbinden in Kontextmenü des Explorers?
da sind paar tipps die dir weiterhelfen
ja ich hab doch gewusst das da noch irgendwo was sein muss ![]()
hier der link:
[ offen ] Autoit Script vorhanden -- wie einbinden in Kontextmenü des Explorers?
da sind paar tipps die dir weiterhelfen
Hallo CrazyER,
hier das geänderte Skript:
wow ![]()
n bisschen was würd ich den leuten schon zutrauen ![]()
du meinst so eine art contextmenü wie bei winrar oder media player oder so?
also zb. "Zu rar archiv hinzufügen" oder "Mit Windows Media Player abspielen"?
ZitatKann mir nun mal einer erklären, was ich tun muss, damit jede Funktion jede Variable kennt ??
ohne jetzt die scripte angesehn zu haben. damit jede funktion die variablen kennt müssen sie als Global deklariert sein.
Ja wenn man eine datei mit doppelklick oder über "Öffnen mit..." öffnen will dann wird der pfad der datei als erster parameter an das Programm mitgegeben.
kurz gesagt in $CMDLINE[1] steht der pfad der datei.
dann braucht man nur noch eine funktion die die datei verarbeitet (in meinen fall _LoadTxt) und schon hat man mehr oder weniger seinen eigenen Dateitypen
hab zwar das eigentliche beispiel nicht gefunden, hab dir aber n recht einfaches gemacht
bei fragen kannst du dich ruhig nochmal melden ![]()
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Form1", 633, 447, 430, 150)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 610, 433)
If Not $cmdline[0] = "" Then
_LoadTxt($cmdline[1])
EndIf
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _LoadTxt($pfad)
$file = FileOpen($pfad, 0)
$text = FileRead($file)
GUICtrlSetData($Edit1, $text)
FileClose($file)
EndFunc
jap. natürlich geht das ![]()
du brauchst nur den pfad im parameter abfragen (CMDLINE[1]) die beim öffnen einer datei mitgegeben werden.
ich hab dazu n recht gutes beispiel. nur leider nicht hier.
bin aber in 45 min zuhause ![]()
Hast du schonmal die Controlfunktionen getestet?
Also Controlsettext und Contolclick usw.
mit welchem befehl führst du diese .exe, .msi oder .bat dateien aus?
dein problem ist dass du oft hintereinander die gleichen winwaits hast.
der ganze code hier wird wahscheinlich so schnell ausgeührt dass du garnicht bis zum 2ten fenster kommst.
deine WinWaitactive müssen sich unterscheiden sonst sieht er nur: ah das fenster ist aktiv da sende ich !N. das ganze geht so schnell dass beim ersten fenster schon alle 5 Send("!N") ausgeführt wurden.
also: im 2ten parameter von winwaitactive einen text angeben der nur in diesem fenster so ist.
oft bietet sich sowas wie WinWaitActive ("Setup - VNC", "Installationspfad wählen")
WinWaitActive ("Setup - VNC", "&Next >")
Send("!N")
WinWaitActive ("Setup - VNC", "&Next >")
Send("!N")
WinWaitActive ("Setup - VNC", "&Next >")
Send("!N")
WinWaitActive ("Setup - VNC", "&Next >")
Send("!N")
WinWaitActive ("Setup - VNC", "&Next >")
Send("!N")
Verbesserungstipps:
Winwait verwenden statt winwaitactive:
Winwait ist meistens zuverlässiger als winwaitactive.
Controlclicks statt send (evtl auch noch andere Controlfunktionen wie Controlsettext usw...)
Controlfunktionen sind sehr viel sicherer als sends. das programm wird sehr viel stabiler.
Du kannst die Datei verschlüsseln per _Crypt-Funktion.
dann musst du dir aber auch ein entschlüsselungstool schreiben damit du standartdateiendungen verwenden kannst.
d.h. datei entschlüsseln und temporär speichern dann erst öffnen. im prinzip das gleiche wie truecrypt^^
Word usw werden nicht glücklich wenn sie verschlüsselte dateien öffnen müssen ![]()
Sag doch gleich dass du keine autoit lösung suchst ![]()
gehört dann aber auch eher unter OffTopic
Wie wärs mit dem Programm Truecrypt?
http://www.chip.de/downloads/TrueCrypt_13015067.html
ist freeware und sehr gut
lol genausowas hab ich auch grade noch gebastelt. seeehr ausführlich und somit hoffentlich verständlich
was ich oben gesagt hatte war um eine dateiendung deinem programm zuzuweisen. ich glaub das wolltest du nicht unbedingt, sry ![]()
#include <String.au3>
[/autoit] [autoit][/autoit] [autoit]$meintext = "DAS IST EIN GEHEIMER TEXT"
$meinpasswort = "AUTOIT.DE"
$verschluesselt = _StringEncrypt( 1, $meintext, $meinpasswort)
$file = FileOpen("Text.blabla", 1)
FileWrite($file, $verschluesselt)
FileClose($file)
MsgBox(0, "Kurze Pause", "Versuche die datei mit dem Editor zu öffnen und zu lesen")
ShellExecuteWait("notepad.exe","Text.blabla")
MsgBox(0, "Kurze Pause", "Tja die ist wohl verschlüsselt")
$file = FileOpen("Text.blabla", 0)
$ausdateigelesen = FileRead($file)
MsgBox(0,"",$ausdateigelesen)
$entschluesselt = _StringEncrypt(0, $ausdateigelesen, $meinpasswort)
MsgBox(0,"Der verschlüsselte text war:", $entschluesselt)
FileClose($file)
Edit: geht vermutlich am thema vorbei:
überleg dir eine dateiendung die es im besten fall noch nicht gibt und weiße diese endung in der registry unter HKEY_CLASSES_ROOT deinem Programm zu.
am besten überlegst du die noch ne schöne verschlüsselung damit man die datei nicht einfach mit dem notepad oder ähnlichem öffnen kann
FilesetAttrib ist nur um sie Schreibgeschützt zu machen usw.
wie wenn man rechtsklick eigenschaften schreibgeschützt macht. Löschbar bleiben sie trotzdem...
was du brauchst ist denke ich Fileopen. dann kann man während der laufzeit eines scriptes die datei weder verschieben noch löschen (kopieren geht noch)
und das ganze geht solange nicht bis Fileclose kommt oder das script beendet wird
Sehr prozessorlastig ? Komme beim laufenden Script nicht ueber 1 Prozent und das beim Sleep(1).
wie autobert schon sagte: sleep(10) ![]()
aber in prinzip hast du recht. mit kurzen pausen geht die prozessorlast extrem hinunter. und genau das wollte ich mit "so machst du ununterbrochen if abfragen" aussagen.
Manche Funktionen lassen sich doch nur ueber If Abfragen leoesen.???
da haste ganz klar recht. aber wie gesagt: ununterbrochen --> schlecht
Was sich statt dem sleep auch noch anbieten würde ist eine meiner lieblingsfunktionen: AdlibRegister
grade im OnEventMode finde ich die absolut klasse
öhm im prinzip brauchst du ja nur ne kleine abfrage einbauen ob es ein 64 bit oder en 32 bit system ist.
mit @CPUArch wäre das recht einfach
kann ich sicher nicht verlangen hier im forum, oder?
doch könntest du shcon, obs dir jemand postet is aber die andere frage ![]()
ich tus mal nicht weil die andere lösung besser is ![]()
PCKing: ist zwar auch ne funktionierende lösung aber sehr prozessorlastig. so machst du ununterbrochen if abfragen
P.S. Und nochmals Danke fuer die andere Art und Weise, auf meine Frage einzugehen
kein problem, solange du allgemeine antworten akzeptierst.
Die meisten wollen halt immer sehr spezielle lösungen, da muss man dann schon immer hinterfragen wo genau was und wie gemacht werden soll ![]()
ich würd erstmal schauen ob die foren das in ihren agb´s erlauben
er hat völlig recht. hier wird nichts supportet was gegen agb's verstößt.
Ich habe schon lange hier im Forum gesucht, aber noch kein Skript gefunden, dass mir als Basis weiterhelfen könnte
automatisierungen von webseiten gibt es hier hunderte.
eine die mir so spontan einfällt ist das Clientscript für SchülerVZ
https://autoit.de/index.php?page=Thread&threadID=16910
frag mich aber nicht ob das gut oder schlecht ist. ich bin nicht bei SchülerVZ ![]()
Alles anzeigenSpoiler anzeigen
[autoit]Run("C:\Programme\Mozilla Firefox\firefox.exe")
[/autoit]
WinWaitActive("Mozilla Firefox")
Send("{TAB}")
Send("___PAGE___{ENTER}")
Sleep(1000)
Send("{TAB}")
Send("{UNTEN}")
Send("{ENTER}")
TEST
Send("{TAB}")
Send("{ENTER}")
von send's und so weiter würde ich dir abraten. seeeehr ungenau die ganze sache. wenn irgendetwas anderes aktiv ist gehen die sends ins nirvana oder noch schlimmer: machen in einem anderen programm unerwünschte sachen
ZitatNatürlich gebe ich hier nicht an, auf welchen Webseiten ich was tun möchte - das geht niemanden etwas an.
Schon mal was von Privat-Sphäre gehört?
das problem an dem ganzen ist dass es einige verschiedene möglichkeiten gibt webseiten zu automatisieren. da wir aber nicht wissen was das für ne page ist kann man dir schlecht tipps geben was am besten wäre.
da bleibt nur der verweis auf die ff.au3 weil die im normalfall die stabilste ist.
ZitatFF.au3 hatte ich mir angeschaut, schien mir aber Overkill fuer das wenige, das ich brauche ...
je nachdem was für ansprüche du an dein script stellst. ein 0815 programm kann man natürlich auch mit send's und mousemove schreiben.
ist halt wie gesagt sehr fehleranfällig
alles zur ff.au3 wäre hier zu finden: http://www.autoit.de/index.php?page=Board&boardID=32
Zitatdas ist das neue wort für zu schwer
eher sowas wie: übertrieben, unverhältnismäßig, überzogen, unpassend,