1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. McPoldy

Beiträge von McPoldy

  • Mit AutoIt bei ICQ einloggen?

    • McPoldy
    • 14. Juli 2008 um 07:25

    Moin,

    das sollte eigentlich gehen, musst Dir mal das OSCAR Protokoll anschauen, hier mal zwei Links zum Einstieg:

    Wikipedia - ICQ
    Wikipedia - ICQ

    vielleicht hilft das auch weiter:
    Miranda

  • GUIOnEventMode

    • McPoldy
    • 13. Juli 2008 um 13:33

    Hi,

    hier mal eine Version wenn Du mit OnEventModus arbeiten möchtest, interessant ist hier @GUI_CtrlId, die beinhaltet das Element was die Funktion aufgerufen hat, siehe Hilfe GUICtrlSetOnEvent

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.2.12.1
    Author: McPoldy

    Script Function:
    Beispiel für OnEvntMode,1

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;Optioinen setzen
    Opt("GUIOnEventMode", 1) ;Auf OnEvent Modus umstellen

    [/autoit] [autoit][/autoit] [autoit]

    ;Form erstellen
    GUICreate("TestForm", 100, 75) ;Form erzeugen
    GUISetOnEvent(-3, "_Exit") ;Wenn das Form geschlossen werden soll, die _Exit Funktion aufrufen
    $typ01 = GUICtrlCreateButton("Gerätedaten1", 5, 5, 90, 30) ;Button 1
    GUICtrlSetOnEvent(-1, '_Geraete') ;Funktion _Geraetet aufrufen wenn Button geklickt wird
    $typ02 = GUICtrlCreateButton("Gerätedaten2", 5, 40, 90, 30) ;Button 2
    GUICtrlSetOnEvent(-1, '_Geraete') ;Funktion _Geraetet aufrufen wenn Button geklickt wird
    GUISetState() ;Form anzeigen

    [/autoit] [autoit][/autoit] [autoit]

    ;Endlosschleife
    While 1
    Sleep(250)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;Testfunktion
    Func _Geraete()
    Switch @GUI_CtrlId ;In @GUI_CtrlId steht welechs Element diese Funkton aufruft
    Case $typ01 ;War das Element $typ01 dann soll Card ausgegeben werden
    MsgBox(64, "Gerätedaten", "Card")
    Case $typ02 ;War das Element $typ01 dann soll Festplatte ausgegeben werden
    MsgBox(64, "Gerätedaten", "Festplatte")
    EndSwitch
    EndFunc ;==>_Geraete

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Funkton für das schliessen des Forumulares
    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    :rofl: Der Bugfix macht mich fertig, ist immer schneller mit seiner Antwort

  • Mauszeiger GLOBAL ändern

    • McPoldy
    • 12. Juli 2008 um 13:23

    Mahlzeit, wenn ich es richtig verstanden habe soll z. B. der normale Cursor (2) auch im Edit Feld bleiben, ich hab mal mir überlegt, wenn ein neuer Mauszeiger angefordert wird, wird vom System eine Meldung raus gegeben, ist der Cursor nicht 2 dann setze ihn für mein Control auf 2, folgendes ist bei raus gekommen auf die schnelle:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <date.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 399, 267, 193, 125)
    GUISetCursor (2)
    $Edit1 = GUICtrlCreateEdit("", 16, 40, 361, 201)
    GUICtrlSetData(-1, "Edit1")
    GUIRegisterMsg(0x0020,"_SetCursor")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _SetCursor($hWnd,$msg,$wparam,$lparam)
    $zeit = _TimeToTicks(@HOUR,@MIN,@SEC)
    If MouseGetCursor() <> 2 Then GUICtrlSetCursor($Edit1,2)
    ConsoleWrite($zeit & @LF)
    EndFunc

    [/autoit]
  • Schliessen/löschen von Beiträgen

    • McPoldy
    • 12. Juli 2008 um 13:08

    Also wie bereits erwähnt gegen das schließen an sich ist ja nix zu sagen, die Art und Weise wie es gemacht wird ist nicht so schön. Bei mir wurde auch schon Quelltext gelöscht, ich hätte bestimmt auf Anforderung das selbst gemacht, nur mit dem entscheidenden Unterschied, das ich dazu geschrieben hätte warum ich Ihn wieder raus genommen habe und es nicht so aussieht wie: Ah der McPoldy hat mal wieder was illegales gepostet und das musste gelöscht werden.

    Ich würde dann vielleicht auch noch gerne einen Vorschlag zum vorgehen machen, löscht diese Beiträge komplett, verwarnt die Leute und rauswerfen wenn die 3 Verwarnung nicht geholfen hat. Das wäre eine saubere Sache, es stehen nicht mehr die gesperrten Beiträge im Forum, die ja schon genug Infos haben um auf dumme Gedanken zu kommen. Und genau das selbe würde ich mit dem kompletten Bot-Bereich machen, ich kann nicht in den Regeln eine Distanzierung bzw. ein Verbot rein schreiben aber noch die ganzen alten Beiträge dazu frei zugänglich machen, ist meine Meinung, wäre zumindest ein sauberer Schnitt.

    So, jetzt hab ich mir genug Luft gemacht :) musste einfach mal so raus, weil es mich schon die letzten Wochen verwundert/geärgert hatte.

  • Ip an port auslesen kriege nur die letzte ip oft hin

    • McPoldy
    • 12. Juli 2008 um 00:45

    Hm zwar nicht ganz so wie Du es hattest, bei mir geht es aber:

    Spoiler anzeigen
    [autoit]


    ; Demonstrates StdoutRead()
    #include <Constants.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;<-- Variablen & Constanten setzen
    Local $line = ''
    Local $str = ''
    Local $arrData, $count, $pos
    Local $ip[4]
    Local $port
    Local $searchPort = 4711

    [/autoit] [autoit][/autoit] [autoit]

    If _HoleVerbindungen() Then
    If _Daten_aufbereiten('Lokal') Then
    $str = StringFormat("IP[1] = %s\nIP[2] = %s\nIP[3] = %s\nIP[4] = %s\nPort = %s",$ip[1],$ip[2],$ip[3],$ip[4],$port)
    MsgBox(64,"Info",$str)
    Else
    MsgBox(48,"Hinweis","Port nicht gefunden.")
    EndIf
    Else
    MsgBox(16,"Fehler","Konnte Daten nicht lesen.")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Hier werden die Verbindungsdateneingelesen
    ;Wenn in $str Daten stehen wird TRUE zurückgegeben ansonsten FALSE
    Func _HoleVerbindungen()

    Local $cmd = Run(@ComSpec & " /c netstat -anop TCP", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;<-- Dos Befehl ausführen

    [/autoit] [autoit][/autoit] [autoit]

    While 1 ;<-- Schleife zum einlesen der Daten
    $line = StdoutRead($cmd) ;<-- Einlesen in $line
    If @error Then ExitLoop ;<-- Bei einem Error die Schleife verlassen
    If $line <> "" Then ;<-- Prüfung ob in $line was drinnensteht
    $str &= $line ;<-- Wenn was drinnen steht soll es an die Variable $str gehängt werden
    EndIf ;<-- Ende der If Prüfung auf Dateninhalt
    Wend ;<-- Schleifenende

    If $str <> '' Then Return True ;<-- Steht was in $str gib TRUE zurück
    Return False ;<-- Wenn das Script bis hier her kommt wird FALSE zurückgegeben
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Hier werden die Daten aufbereitet in einem Array
    Func _Daten_aufbereiten($RemoteLokal = 'Lokal')
    $str = StringStripCR($str)
    $arrData = StringSplit($str,@LF)
    For $count = $arrData[0] To 0 Step -1
    If StringInStr($arrData[$count],"TCP") > 0 Then
    Switch $RemoteLokal
    Case 'Lokal'
    $pos = StringSplit(StringStripWS(StringMid($arrData[$count],10,23),3),":")
    Case 'Remote'
    $pos = StringSplit(StringStripWS(StringMid($arrData[$count],33,23),3),":")
    EndSwitch
    $ip = StringSplit($pos[1],'.')
    $port = $pos[2]
    If $port = $searchPort Then Return True
    EndIf
    Next
    Return False
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
    Kurz Version
    [autoit]


    #include <Constants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $port = 80
    $str = ""
    Local $cmd = Run(@ComSpec & " /c netstat -anop TCP", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;<-- Dos Befehl ausführen

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $line = StdoutRead($cmd)
    If @error Then ExitLoop
    If $line <> "" Then
    $str &= $line
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    $arr = StringSplit($str,@LF)
    For $x = 1 To $arr[0]
    If StringRegExp($arr[$x],"(:"& $port & " )",0) = 1 then
    ConsoleWrite($arr[$x] & @LF)
    $pos = StringSplit(StringStripWS(StringMid($arr[$x],33,23),3),":")
    $ip = StringSplit($pos[1],'.')
    ExitLoop
    EndIf
    Next
    $str = StringFormat("IP[1] = %s\nIP[2] = %s\nIP[3] = %s\nIP[4] = %s\nPort = %s",$ip[1],$ip[2],$ip[3],$ip[4],$port)
    MsgBox(64,"Info",$str)

    [/autoit]
  • µit - Juli

    • McPoldy
    • 11. Juli 2008 um 22:32
    Zitat von Waluev

    Also wirf die Flinte nicht ins Korn!!!

    Das sagst Du einem Sportschützen ;)

    Zitat von BugFix

    Ich habe weder DLL-Call, noch eine andere Funktion dafür genutzt ;) Es gibt noch andere Wege :)

    Ich habe da zwar grade was gefunden, nur anfangen kann ich nix damit, mal sehen, vielleicht finde ich ja doch noch einen dreh :)

  • Schliessen/löschen von Beiträgen

    • McPoldy
    • 11. Juli 2008 um 20:38

    Nabend,

    bevor hier gleich eine Diskussion über Bots, Spaß-Viren, etc. los geht, darum geht es mir bei dieser Kritik gar nicht, mir geht es um das generelle Verhalten im Forum einzelner Mods / User. Ich sehe in den letzten Wochen recht häufig das Beiträge geschlossen werden, meistens mit gutem Grund das will ich ja nicht leugnen. Aber wenn ich mir dann so etwas an sehe wie laufendes Script in registry schreiben dann frage ich mich doch schon warum das nun sein muss. Es wurde dem Schreiber keine Verwarnung bzw. eine Möglichkeit gegeben sich zu rechtfertigen, es wurde nur mal in den Raum gestellt:

    Spoiler anzeigen
    Zitat


    An die Admins ich glaube wir sollten den Post schließen.
    Absicht des Users erkannt! :cursing: :thumbdown: Somit kein Support mehr hier im Forum.

    Also man soll es kaum glauben, aber es gibt Leute die kennen sich nicht mit Rechnern aus, benutzen ihn aber täglich, will sagen ihr Wissen ist auf die Anwendungen begrenzt die sie täglich nutzen. Ich persönlich habe auch so einen Bekannten und wenn ich Ihm ein Wartungsscript schreibe welches automatisch gestartet werden soll, mache ich das genau auf diesem Weg. Ich schicke ihm die EXE oder den Link er öffnet es einmal, es trägt sich in die Registrierung ein und wird bei jedem Neustart (oder da seine Frau und Kinder den Rechner auch benutzen) bei jedem User mit gestartet. Dieses Beispiel soll nur mal zeigen das es sehr wohl "normale" Anwendungsmöglichkeiten für die von dem User gewünschten Informationen gibt. Wenn nun der Einwand kommen sollte, das er ja mit den Infos die im Beitrag bis dato bereigestellt wurden schon klar kommen müsste, so lasse ich das schlicht weg nicht gelten, den wenn man sich gewisse andere Beiträge anschaut müssten die bereits geschlossen werden bevor sie Speicherplatz verschwenden (ja ist ein doofer Kommentar aber ist wirklich so :) )

    Wenn man solche Beiträge schließt, dann brauchen Leute keine Beiträge mehr einzustellen, hier mal ein zwei Beispiele die nicht gesperrt oder gelöscht wurden, obwohl man sie für nicht legale Sachen verwenden kann und ich musste nicht lange suchen.
    Beispiel 1
    Beispiel 2
    Man sieht also man kann viele Scripte für nicht "gute" Zwecke nutzen, obwohl vielleicht ein normaler Grund dahinter steckt (beim Beitragsersteller) oder man möchte sich nur eine Spaß erlauben.

    Wie eingangs erwähnt, ich finde auch das in einem Forum keine Viren, Bots oder sonstige illegale Inhalte veröffentlicht werden dürfen, sie sollten eigentlich gar nicht veröffentlicht werden, aber einfache Beiträge mal zu sperren, weil jemand mein "Oh könnte böse sein" oder einfach Beiträge ohne dem Ersteller einen Hinweis zu geben, ist schlicht weg eine schlecht Angewohnheit die man sich schnellstens abgewöhnen sollte liebe Mods.

  • Ordner-Auswahl mit ComboBox

    • McPoldy
    • 11. Juli 2008 um 17:36

    Hi,

    habe mal versucht es anzupassen, es wird jetzt der erste Eintrag in der Liste angezeigt wenn du das mit der ComboBox machen möchtest.

    Func evtOutPath
    [autoit]


    Func evtOutPath()
    $myFolder = FileSelectFolder("Zielordner:", "", 1)
    If Not @error Then ;<--- Geändert Prüfen ob ein Ordner ausgewählt wurde
    GUICtrlSetData($inpOutPath, $myFolder) ;<--- Geändert Der ComboBox den Wert hinzugügen
    _GUICtrlComboBox_SetCurSel($inpOutPath,0) ;<--- Geändert Den ersten Eintrag auswäheln -- hierfür muss noch die GUIComboBox.au3 per Include mitgenommen werden
    EndIf ;<--- Geändert ENDE

    EndFunc ;==>evtOutPath

    [/autoit]
  • µit - Juli

    • McPoldy
    • 11. Juli 2008 um 17:10

    Nun ja, dann gebe ich mich geschlagen, bin die Hilfe jetzt so oft durch gegangen, das ich sie nicht mehr sehen will, wahrscheinlich bin ich Hilfe-Blind, zumindest finde ich nix passendes um die Aufgabe entsprechend der Aufgabenstellung zu lösen. Bin mal auf die fertigen Scripte gespannt und was ich übersehen hab :).

  • Kleines Problem mit Array....

    • McPoldy
    • 11. Juli 2008 um 10:15

    Moin,

    Du hast folgendes gemacht:
    1: Lade Dateien und Pfad in ein Array
    2: Ändere was und schreibe die Datei im Filesystem um

    Und jetzt kommt der kleine aber böse Fehler ;) :
    Die Datei die vorher z.B. "Lied1_01.mp3" war heißt nun im Filesystem z.B. "Lied101.mp3", aber in deinem $search_files Array lautet der Name immer noch "Lied1_01.mp3", Du musst die Bezeichnung da auch anpassen.

    Ich habe mal die eine Funktion angepasst, habe das Array Element umbenannt und _GUICtrlListBox_DeleteString($list_files, $a) sowie _GUICtrlListBox_AddString($list_files, $new_text) durch _GUICtrlListBox_ReplaceString($list_files, $a,$new_text) ersetzt:

    Beispiel
    [autoit]


    Func _bestimmte_textstelle_del()
    _GUICtrlListBox_BeginUpdate($list_files)
    $count = _GUICtrlListBox_GetCount($list_files)

    [/autoit] [autoit][/autoit] [autoit]

    For $a = $count -1 To 0 Step -1
    $text = _GUICtrlListBox_GetText($list_files, $a)
    $new_text = StringReplace($text, GUICtrlRead($input_funktion), GUICtrlRead($input_funktion1))
    If $count = 1 Then
    $oFile = $oFSO.GetFile($search_files[$a + 1])
    $search_files[$a + 1] = $new_text
    Else
    $oFile = $oFSO.GetFile($search_files[$a + 2])
    $search_files[$a + 2] = $new_text
    EndIf
    $string = $oFile.Path
    $file_dir = $string
    _GUICtrlListBox_ReplaceString($list_files, $a,$new_text)
    Do
    $file_dir = StringTrimRight($file_dir, 1)
    Until StringRight($file_dir, 1) = "\"
    FileMove($oFile.Path, $file_dir & $new_text, 1)
    Next
    _GUICtrlListBox_EndUpdate($list_files)
    EndFunc

    [/autoit]

    Ich hab das Script noch etwas verkürzt, ist vielleicht übersichtlicher.

    Überarbeitete Version
    [autoit]


    #include <GuiListBox.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $oFSO = ObjCreate('Scripting.FileSystemObject')
    Dim $search_files[1000]

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    $GUI_main = GUICreate("Chanah - by StengelProductions", 560, 500)
    $group_files = GUICtrlCreateGroup("Dateien", 20, 15, 300, 460)

    [/autoit] [autoit][/autoit] [autoit]

    $list_files = _GUICtrlListBox_Create($GUI_main, "", 40, 45, 260, 400, $LBS_EXTENDEDSEL)
    $add_files = GUICtrlCreateButton("Hinzufügen", 40, 440, 110, 25)
    GUICtrlSetOnEvent(-1, "_add")
    $del_files = GUICtrlCreateButton("Liste Löschen", 190, 440, 110, 25)
    GUICtrlSetOnEvent(-1, "_del")

    [/autoit] [autoit][/autoit] [autoit]

    $group_functions = GUICtrlCreateGroup("Aktionen", 340, 15, 200, 255)

    [/autoit] [autoit][/autoit] [autoit]

    $bs_funktion = GUICtrlCreateButton("Bodenstriche entfernen", 360, 45, 160, 25)
    GUICtrlSetOnEvent(-1, "_RenameFiles")
    $dash_funktion = GUICtrlCreateButton("Bindestriche entfernen", 360, 80, 160, 25)
    GUICtrlSetOnEvent(-1, "_RenameFiles")
    GUICtrlCreateLabel("Zu ersetzen:", 360, 115, 150)
    $input_funktion = GUICtrlCreateInput("", 360, 135, 160, 25)
    GUICtrlCreateLabel("Mit:", 360, 170, 160, 25)
    $input_funktion1 = GUICtrlCreateInput("", 360, 190, 160, 25)
    $text_funktion = GUICtrlCreateButton("Bestimme Textstelle entfernen", 360, 235, 160, 25)
    GUICtrlSetOnEvent(-1, "_RenameFiles")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_terminate")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _add()
    $files = FileOpenDialog("Dateien Auswählen", "::{450D8FBA-AD25-11D0-98A8-0800361B1103}", "All Files (*.*)", 7, "", $GUI_main)
    If Not @error Then
    $search_files = StringSplit($files, "|", 1)
    If @error = 1 Then
    For $a = 1 To $search_files[0]
    $oFile = $oFSO.GetFile($search_files[$a])
    _GUICtrlListBox_AddString($list_files, $oFile.Name)
    Next
    Else
    For $a = 2 To $search_files[0]
    $oFile = $oFSO.GetFile($search_files[$a])
    _GUICtrlListBox_AddString($list_files, $oFile.Name)
    Next
    EndIf
    EndIf
    EndFunc ;==>_add

    [/autoit] [autoit][/autoit] [autoit]

    Func _RenameFiles()
    Dim $searchFor, $replaceWith
    Switch @GUI_CtrlId
    Case $bs_funktion
    $searchFor = '_'
    $replaceWith = ' '
    Case $dash_funktion
    $searchFor = '-'
    $replaceWith = ' '
    Case $text_funktion
    $searchFor = GUICtrlRead($input_funktion)
    $replaceWith = GUICtrlRead($input_funktion1)
    EndSwitch
    _GUICtrlListBox_BeginUpdate($list_files)
    $count = _GUICtrlListBox_GetCount($list_files)

    [/autoit] [autoit][/autoit] [autoit]

    For $a = $count - 1 To 0 Step -1
    $text = _GUICtrlListBox_GetText($list_files, $a)
    $new_text = StringReplace($text, $searchFor, $replaceWith)
    If $count = 1 Then
    $oFile = $oFSO.GetFile($search_files[$a + 1])
    $search_files[$a + 1] = $new_text
    Else
    $oFile = $oFSO.GetFile($search_files[$a + 2])
    $search_files[$a + 2] = $new_text
    EndIf
    $string = $oFile.Path
    $file_dir = $string
    _GUICtrlListBox_ReplaceString($list_files, $a, $new_text)
    Do
    $file_dir = StringTrimRight($file_dir, 1)
    Until StringRight($file_dir, 1) = "\"
    FileMove($oFile.Path, $file_dir & $new_text, 1)
    Next
    _GUICtrlListBox_EndUpdate($list_files)
    EndFunc ;==>_RenameFiles

    [/autoit] [autoit][/autoit] [autoit]

    Func _del()
    _GUICtrlListBox_ResetContent($list_files)
    EndFunc ;==>_del

    [/autoit] [autoit][/autoit] [autoit]

    Func _terminate()
    Exit
    EndFunc ;==>_terminate

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • µit - Juli

    • McPoldy
    • 11. Juli 2008 um 06:57

    Moin,

    ich hab da noch mal ne Frage wegen der Größe von dem Script. Wenn ich das richtig verstehe wird z.B. die user32.dll mit eingerechnet wenn ich einen DllCall mache, aber obwohl sie in "Grundfunktionen" von Autoit auch genutzt wird, wird sich nicht mir eingerechnet, finde ich etwas merkwürdig. Meiner Meinung nach sollten DLLs die zu den Standard-Dlls gehören nicht mir eingerechnet oder alle DLLs die im Autoit Standard genutzt werden mit einbezogen werden :)

    Mir ist echt schleierhaft was BugFix an Funktionen gefunden hat :( ich suche schon seit 2 Tagen in der Hilfe aber finde nix was annähernd laufen könnte ohne das ich den ollen Cursor unter die Maus bewege und wieder zurück, das soll ja aber nicht gemacht werden wenn ich das richtig verstehe, oder?

  • Hilfe bei ein paar scripts

    • McPoldy
    • 11. Juli 2008 um 06:31

    Moin,

    ich finde die Idee gut, so lernst Du zumindest einiges :) Schwer ist das nicht und wie bereits erwähnt, die Programme die ich da aufgelistet habe lassen sich recht gut mit Autoit fertig machen, ein Programm/Menü für die Auswahl ist auch eine gute Idee, da du da auch gleich noch was über GUI lernst. Leider finde ich mein olles Script für TuneUp2008 nicht wieder :( sonst hätte ich es dir gerne zur Verfügung gestellt, wenn du Fragen hast immer her damit, geholfen wird dir auf jeden Fall :)

  • Hilfe bei ein paar scripts

    • McPoldy
    • 10. Juli 2008 um 19:58

    anno2008
    Nettes Programm, ich kann es gebrauchen, danke schön.

    Zum Thema, die folgenden gehen doch eigentlich recht easy, vielleicht stellst du mal ein Script ein mit Fehlerbeschreibung.
    Adope Photoshop CS2 mit Serial
    AntiVir 8 (Free Version)
    MSN Messenger 8.5 Final
    TuneUp 2008 mit Serial
    Winamp

  • PHP Editor

    • McPoldy
    • 10. Juli 2008 um 18:32

    Mir gefällt PSPad ganz gut :)

  • Zeitgesteuert aktion

    • McPoldy
    • 10. Juli 2008 um 07:18

    Moin,

    nun ja bedingtes warten, du musst schon immer zwischen durch mal checken was die Zeit geschlagen hat, mal was ganz einfaches:

    Spoiler anzeigen
    [autoit]

    ;Start
    Dim $startZeit = "23:00"
    While 1
    Sleep(1000)
    If StringFormat("%s:%s",@HOUR,@MIN) = $startZeit Then
    ;Mach was
    Exit
    EndIf
    WEnd

    [/autoit]
  • Internet Explorer öffnen und registrierung ausfüllen

    • McPoldy
    • 9. Juli 2008 um 08:43

    Moin,

    dir dürften folgende Hilfe Einträge helfen:
    _IEFormSubmit = Schöne Beispiele mit dabei
    _IELinkClickByText = für Links

    Aber schau dir mal die anderen _IE..... Befehle auch an, da sind nen paar nette Sachen bei.

  • AutoHotKey-Funktionalität in AutoIt3

    • McPoldy
    • 9. Juli 2008 um 07:01

    Moin,
    also den Aufruf in VB hab ich gefunden (Link)

    Spoiler anzeigen

    Private Declare Function SwapMouseButton Lib "user32.dll" ( _
    ByVal bSwap As Long _
    ) As Long

    0& = nicht vertauscht
    1& = vertauscht

    Klappt leider bei mir nicht, ich komme einfach nicht mit diesem blöden DLLCall klar :( vielleicht hilft es trotzdem, außerdem sind noch ein paar andere nette Sachen auf der Seite.

    EDIT:
    Da fällt mir auf, das hier ist mein 300. Beitrag hier im Forum :rock::D;(:D:rock:

  • ein Problem mit der Logik :D

    • McPoldy
    • 9. Juli 2008 um 06:39

    Moin,

    eine Frage, die Daten kommen doch mit Sicherheit aus einer Datenbank, da liegt es nahe sich 1. eine eigene Abfrage zu basteln 2. diese in einer View zu speichern 3. nur noch die Abfrage auf die View zu machen. Vorteil, man spart sich irre viel Tipparbeit und die Fehlerquellen werden minimiert, da man bei weitem nicht mehr so viel php tippen muss :)

    Zu deinem (bzw. dem Skript von deinem Vorgänger), würde das mal in eine Funktion packen, ist doch der reinste Horror alle Gruppen nutzen doch den selben Quelltext, zudem wenn ich an einer Stelle was änder, muss ich das immer in allen Gruppen machen. Also am besten die Datei neu aufbauen :)

  • script in einem minimierten programm laufen lassen?

    • McPoldy
    • 8. Juli 2008 um 16:40

    @XNeoX
    Also beim letzten Beispiel wird bei mir Text gesendet, dein Notepad Fenster heißt doch Unbenannt oder?

    @Dragony94
    Da kommt bei mir nix an im minimierten Zustand, das hatte ich als ersten Versuch gepostet :)

  • script in einem minimierten programm laufen lassen?

    • McPoldy
    • 8. Juli 2008 um 15:18

    Hi,

    ich habe mal versucht es etwas zu erklären, in dem Beispiel wird jetzt nur einmal ein Text an Notepad gesendet:

    Spoiler anzeigen
    [autoit]

    ;Öffnen von Notepad
    ;Parameter 1: Programmname oder kompletter Pfad [notepad.exe]
    ;Parameter 2: Hier können noch Prameter für das Programm übergebenwerden []
    ;Parameter 3: Das Arbeitsverzeichnis, sowas wie "Ausführen in" [@TempDir]
    ;Parameter 4: Wie soll das Programm angezeigt werden, z. B. @SW_MAXIMIZE für ein maximiertes Fenster oder
    ; so wie in dem Beispiel @SW_MINIMIZE um es minimiert zu starten [@SW_MINIMIZE]
    ;[] = Da stehen immer die Werte aus dem Beispiel drinne
    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)

    [/autoit] [autoit][/autoit] [autoit]

    ;Braucht man glaub ich nicht zu beschreiben :)
    $str = 'Der Text der gesendet werden soll.'

    [/autoit] [autoit][/autoit] [autoit]

    ;Kleine Schleife um sicher zu stellen das Notepad wirklich gestartet ist :) bevor der Text gesendet wird
    ;ProcessExists wird als Parameter der Name des Processes übergeben, siehe Taskliste.
    Do
    Sleep(250)
    Until ProcessExists("notepad.exe")

    [/autoit] [autoit][/autoit] [autoit]

    ;Mit diesem Befehl wird der vorhandene Text in einem Kontorll ersetzt
    ;Parameter 1: Fenstertitel [Unbenannt]
    ;Parameter 2: Text im Fenster []
    ;Parameter 3: Name des Kontrolls oder Classname würde auch gehen
    ; Hier empfield sich als Hilfe das WindowInfoTool von Autoit zu benutzen [Edit1]
    ;Parameter 4: Der Text der gesendet werden soll
    ;[] = Da stehen immer die Werte aus dem Beispiel drinne
    ControlSetText("Unbenannt","","Edit1",$str)

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™