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. John8

Beiträge von John8

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • John8
    • 15. August 2012 um 13:18

    Das kannst du mit WMIC machen, dazu über AutoIt mit CMD diesen Befehl ausführen:

    Code
    wmic process where name="beispiel.exe" call getowner >%USERPROFILE%\Desktop\ProcessUser.txt

    "Beispiel.exe" ist der Prozess, der abgefragt werden soll, ">%USERPROFILE%\Desktop\ProcessUser.txt" leitet die Ausgabe in eine Datei um. (Pfad evtl angleichen).

    Edit: Ups, du möchtest das ja mit Diensten haben... :cursing:
    Dann sollte es so gehen:

    Code
    wmic service get Caption,StartName >%USERPROFILE%\Desktop\ServiceUser.txt

    Andernfalls sollte diese Google Suche auch hilfreiche Ergebnisse liefern: http://www.google.de/search?q=wmic+service

    -Cyrox

  • Registry: Vorher, Nachher Vergleich

    • John8
    • 15. August 2012 um 01:52

    Benutze doch einfach schon vorhandene Software, z.B. ERUNT oder Regshot.
    Sollte ziemlich gut damit (erst recht mit letzterem) funktionieren. ;)

  • Run ( "programm.exe" ) geht nicht ?

    • John8
    • 12. August 2012 um 15:48

    Nur weil du 14 bist, heißt das nicht, dass du dir absolut gar keine Mühe geben brauchst, dich ordentlich auszudrücken... :rolleyes:
    Wenn du nicht genau schreibst, was du machen willst, kann dir hier auch niemand helfen.

    Du möchtest also einen Button haben, der es per Klick ermöglicht, ein Programm zu starten, richtig?

    [autoit]

    #include <GUIConstantsEx.au3>

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

    $sDateiPfad = "Notepad.exe" ;Pfad des Programms, das gestartet werden soll (ggf. ändern)

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

    $hGUI = GUICreate("Beispiel", 227, 105, 192, 124)
    $hStartButton = GUICtrlCreateButton("Start", 32, 32, 161, 41)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hStartButton
    Run($sDateiPfad)
    EndSwitch
    WEnd

    [/autoit]
    Zitat

    Es geht nicht wen ihr mir nicht Helfen wollt dan schickt mir bitte ein Link wo ich das nachgucken kann

    Du solltest auch ein wenig Eigeninitiative zeigen, sonst kommst du nicht weit.

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 21:42

    Das ist gut, kein Problem. :D
    Mein Fehler war, dass ich mich wie gesagt zu wenig an deinem Skript orientiert habe, da ich ja dachte du testest/analysierst auch meinen.
    Am besten ist noch, wenn man den Code in Abschnitte gliedert, um sowas auszuschließen.
    Aber stimmt schon, der Fehler ist ganz klein gewesen. Witzig, dass wir da so viele Sachen gemacht haben, die am eigentlichen Fehler vorbeigehen. ^^
    Schön, dass es jetzt geht! :)

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 21:07

    Habe meinen letzten Post editiert und deinen Code angeglichen, schau mal oben. Jetzt muss es funktionieren :D

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 20:44

    Also, bei Funpic lässt du beim Anlegen des neuen FTP-Benutzers bei "Verzeichnis" nur das vorhandene "/" stehen:
    [Blockierte Grafik: http://s1.directupload.net/images/120811/temp/6gfgvq8m.png]

    Dann startest du FileZilla und gibst den Server, Benutzernamen und das Passwort ein und legst nach erfolgreicher Verbindung den Ordner "quiz" an. Jetzt nur noch die Datei "quiz.php" per Drag and Drop in den Ordner "quiz" ziehen und es müsste funktionieren.
    Sonst weiß ich auch nicht mehr weiter...
    -------------------------------
    Edit: Moment. Deinen Skript im ersten Post habe ich mir zugegebenermaßen nicht genau angeschaut...
    Du nimmst den falschen Rückgabewert(!)
    Habe mich da zu sehr auf die FTP-Funktionen selbst fixiert und dachte auch, dass du testweise mal die geposteten Skripte von mir nimmst um Fehler auszuschließen.

    Korrigiert:

    Code
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <FTPEx.au3>
    #Include <File.au3>
    ;===========================================================================> Globals
    Global $FTP_Name = "herveldia.cwsurf.de"
    Global $FTP_User = "xxxxxxx"
    Global $FTP_Pass = "xxxxxxx"
    Global $FTP_Dir = "htdocs/test/quiz.php" ;===> Ich vermute es liegt daran.
    Global $Rad = "Nein"
    ;===========================================================================> GUI = StartGUI
    $StartGUI = GUICreate("QuizMaster v1.0", 601, 394, -1, -1)
    GUISetFont(9, 800, 0, "Arial")
    GUISetBkColor(0xA6CAF0)
    $Label1 = GUICtrlCreateLabel("Name des Quiz:", 8, 128, 92, 19)
    $Input1 = GUICtrlCreateInput("", 8, 144, 233, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    $Label2 = GUICtrlCreateLabel("Anzahl der Fragen:", 8, 184, 109, 19)
    $Input2 = GUICtrlCreateInput("", 8, 200, 105, 23, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER,$WS_BORDER))
    GUICtrlCreateLabel("QuizMaster", 0, 0, 600, 120, BitOR($SS_CENTER,$SS_SUNKEN,$WS_BORDER,$WS_CLIPSIBLINGS), $WS_EX_CLIENTEDGE)
    GUICtrlSetFont(-1, 72, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlCreateLabel("v1.0.0", 8, 96, 37, 19)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("Lösung beim antworten zeigen?", 8, 240, 185, 19)
    $Radio1 = GUICtrlCreateRadio("Ja", 8, 256, 113, 17)
    $Radio2 = GUICtrlCreateRadio("Nein", 8, 272, 113, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Label4 = GUICtrlCreateLabel("Nachicht wenn alle Fragen richtig:", 8, 304, 195, 19)
    $Input3 = GUICtrlCreateInput("", 8, 320, 233, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    $Button1 = GUICtrlCreateButton("Weiter ...", 8, 360, 155, 25)
    GUISetState(@SW_SHOW)
    ;===========================================================================> While GUI = StartGUI
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $Read1 = GUICtrlRead ($Input1)
    $Read2 = GUICtrlRead ($Input2)
    $Read3 = GUICtrlRead ($Radio1)
    $Read4 = GUICtrlRead ($Radio2)
    $Read5 = GUICtrlRead ($Input3)
    _CreateQuiz ($Read1, $Read2, $Read3, $Read4, $Read5)
    EndSwitch
    WEnd
    ;===========================================================================> Func _CreateQuiz
    Func _CreateQuiz ($Name, $QuestCount, $RadYes, $RadNo, $EndMsg)
    If $RadYes = $GUI_CHECKED Then
    $Rad = "Ja"
    ElseIf $RadNo = $GUI_CHECKED Then
    $Rad = "Nein"
    EndIf
    _Connect()
    _FTP_FileGet ($FTPConnect, $FTP_Dir, @ScriptDir & "\Temp\quiz.php")
    If @error Then MsgBox (16, "Fehler", "Fehlercode: " & @error)
    _FileWriteToLine (@ScriptDir & "\Temp\quiz.php", 74, '$quizfragen = file("' & $Name & '.txt", FILE_IGNORE_NEW_LINES);', 1)
    _FileWriteToLine (@ScriptDir & "\Temp\quiz.php", 68, '$max_punkte = ' & $QuestCount & ';', 1)
    _FileWriteToLine (@ScriptDir & "\Temp\quiz.php", 71, '$zeige_loesung = "' & $Rad & '";', 1)
    _FileWriteToLine (@ScriptDir & "\Temp\quiz.php", 121, ' echo "' & $EndMsg & '";', 1)
    ;===> Hier gehts später weiter...
    EndFunc
    ;===========================================================================> Func _Connect
    Func _Connect()
    Global $FTPOpen, $FTPConnect
    $FTPOpen = _FTP_Open ("QuizMasterFTP")
    $FTPConnect = _FTP_Connect ($FTPOpen, $FTP_Name, $FTP_User, $FTP_Pass)
    If $FTPConnect = 0 Or $FTPConnect < 0 Then
    MsgBox (16, "Fehler", "Es konnte keine Verbindung mit dem Server hergestellt werden!" & @CRLF & _
    "Bitte versuchen Sie es später erneut oder setzen Sie sich mit dem Admin in verbindung." & @CRLF & @CRLF & _
    "Danke.")
    Exit
    EndIf
    EndFunc

    [/autoit]

    Nicht den Rückgabewert deiner eigenen Funktion "_Connect()" nehmen, sondern den von der AutoIt-eigenen "_FTP_Connect()"!
    Deshalb die Variable $FTPConnect auf Global deklarieren, damit auch die andere Funktion darauf Zugriff hat!

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 20:27

    Kann doch nicht sein. 8|

    Lass mal das "/" beim Verzeichnis so stehen und lege den Ordner und die PHP-Datei mit Filezilla an.
    Was anderes fällt mir auch nicht ein...

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 20:04

    Also das hier funktioniert wunderbar bei mir bei Funpic (ich nehme den Pfad mit dem Schrägstrich vorne):

    [autoit]

    #include <FTPEx.au3>

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

    $server = "ftp-web.funpic.de"
    $username = "ftpXXXXXX"
    $password = "XXXXXX"

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

    $remotePath = "/ordner/datei.txt" ;der Pfad der Datei, die heruntergeladen wird
    $downloadPath = @ScriptDir & "\test.txt" ;der Speicherort der Datei

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

    $ftpOpen = _FTP_Open("TestConnection")
    $ftpCon = _FTP_Connect($ftpOpen, $server, $username, $password)
    $ftpGet = _FTP_FileGet($ftpCon, $remotePath, $downloadPath)
    _FTP_Close($ftpOpen)

    [/autoit]

    Als Server unbedingt "ftp-web.funpic.de" nutzen.

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 17:57

    Das Verbinden klappt aber wirklich oder?
    Welchen Wert spuckt @Error denn bei dir nach "_FTP_Connect()" aus?
    Aktiviere mal testweise den Passive mode bei "_FTP_Connect()":

    $ftpCon = _FTP_Connect($ftpOpen, $server, $username, $password, 1)

    Das ganze ist etwas eigenartig, denn bei mir funktioniert das alles einwandfrei (sowohl auf Bplaced als auch auf Funpic).

  • Programm starten und Tastenkombi ausführen

    • John8
    • 11. August 2012 um 15:37

    Hi,

    Probiere es mal so:

    [autoit]

    Run("K8Control IO.exe")
    WinWaitActive("K8Kontrol I0")
    Send("^l")

    [/autoit]

    Sehr viele Programme achten auch auf Groß- und Kleinschreibung bei Tastenkombinationen.
    Send("{CTRL down}") und Send("{CTRL up}") kannst du weglassen. {CTRL} als Send-Befehl gibt es nämlich gar nicht (nur {LCTRL} und {RCTRL}) und es wäre ja sonst auch doppelt da.
    Siehe AutoIt Hilfe.

    Edit: Das Icon im Traymenü und der AutoIt Skript sind noch 20 Sekunden aktiv, da du ja den Skript mit Sleep() warten lässt.

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 13:38

    -1 von @Error bei "_FTP_FileGet()" bedeutet nur, dass das Herunterladen fehlgeschlagen ist.
    Hm, aber ich sehe gerade, dass du ja von einer Internetseite lädst (http://herveldia.cwsurf.de/test/quiz.php, oder?).
    Ich würde dann "InetGet()" verwenden (obwohl es meiner Meinung nach auch mit "_FTP_FileGet()" funktionieren müsste):

    [autoit]

    InetGet("http://herveldia.cwsurf.de/test/quiz.php", @ScriptDir & "\Quiz.txt", 1)
    MsgBox(64, "@Error", @Error)

    [/autoit]
  • Summertime = Funtime! Sudoku-Solver in 62 Bytes

    • John8
    • 11. August 2012 um 13:19

    Krass.
    Ich bin eigentlich kein großer Fan von Sudoku, aber das Ding ist schon geil.
    Schade, dass *.com-Dateien nicht unter 64-bit Systemen ohne den Umweg mit DOSBox ausgeführt werden können...
    Habe DOSBox aber installiert und es funktioniert! Wie klein Software doch sein kann. :D

  • Problem bei _FTP_FileGet.

    • John8
    • 11. August 2012 um 12:28

    Hi,

    Zitat

    Ich vermute mal stark dass es an $FTP_Dir liegt.

    Richtig, es liegt daran. So geht es:

    [autoit]

    #include <FTPEx.au3>

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

    $server = "name.hoster.de"
    $username = "User"
    $password = "123"

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

    $remotePath = "/ordner/test.txt" ;der Pfad der Datei, die heruntergeladen wird
    $downloadPath = @ScriptDir & "\test.txt" ;der Speicherort der Datei

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

    $ftpOpen = _FTP_Open("TestConnection")
    $ftpCon = _FTP_Connect($ftpOpen, $server, $username, $password)
    $ftpGet = _FTP_FileGet($ftpCon, $remotePath, $downloadPath)
    MsgBox(64, "@Error", @Error)

    [/autoit]

    Also einfach noch einen Schrägstrich ("/") vor den FTP-Pfad setzen, dann sollte es klappen. ;)
    Siehe Hilfe

  • Grafische Spielerei

    • John8
    • 11. August 2012 um 00:32

    Hi,

    gefällt mir auch sehr. Schöne Idee, dass man selbst was einstellen kann und es somit zum experimentieren anregt! :thumbup:

    Habe einfach mal was eingegeben, sieht auch irgendwie ganz lustig aus (erinnert wenn auch minimal an einen PC-Lüfter):

    Code: 2012+110+2100+210

  • GDI+ Bildschirmschoner mit Rechtecken

    • John8
    • 7. August 2012 um 22:23

    Finde ich cool! :)
    Allerdings ist's für meinen Geschmack ein bisschen zu wild (=schnell).
    Die Sache mit den Einstellungsmöglichkeiten ist auch gut, habe bei diesen Einstellungen etwa 2-4% Prozessorauslastung, allerdings anfangs 20%:

    [autoit]

    ; Je kleiner, desto höher die Auflösung, desto höher die Prozessauslastung.
    Global Const $iQuali = 5

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

    ; Je kleiner, desto niedriger die Prozessorlast. (Kommazahlen sind erlaubt ! (z.B. 0.5))
    Global Const $nFPS = 20

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

    ; Je größer, desto mehr Rechtecke werden gezeichnet
    Global Const $iAnzahl = 40

    [/autoit]

    Edit: Nach erneutem Test ca. 1-2%, lässt sich wohl nicht sogut nachweisen, wenn noch andere Prozesse laufen...
    Noch was: Am besten lässt du noch die Maus verschwinden

  • Prozess schützen

    • John8
    • 4. August 2012 um 22:09

    Achso, soll also sowas wie ein (Jugend?)-Schutz werden :D
    Wie wäre es, wenn du dazu die Windows Hosts Datei manipulierst und unerwünschte Webseiten auf 127.0.0.1 umleitest? Dann musst du dir ja gar keine Gedanken um den Schutz des Prozesses machen. :)

  • Prozess schützen

    • John8
    • 4. August 2012 um 14:53

    Wozu brauchst du das eigentlich?
    Man sollte ja schon als Nutzer ein "normales" Programm immer schließen dürfen...

    Edit: Und wie du schon selbst geschrieben hast, lässt sich das wirklich leicht beenden (ohne Taskmanager). ;)
    Auch wenn der Prozess immer einen anderen Namen hat:

    CMD-> taskkill /f /fi "status eq running"

  • CHM Hilfe Datei erstellen (AutoIt Hilfe)

    • John8
    • 4. August 2012 um 14:44

    Einfach mal googeln: http://www.aspheute.com/artikel/20020617.htm
    Da steht alles ausführlich beschrieben ;)

    Die Software dazu kommt direkt von Microsoft: http://msdn.microsoft.com/de-de/library/ms669985.aspx

  • Prozess schützen

    • John8
    • 3. August 2012 um 18:01

    Vielleicht manipuliert Kaspersky ja sogar eine DLL von Windows um diesen Schutz zu gewährleisten, ist aber natürlich nur ne Vermutung...

  • Prozess schützen

    • John8
    • 3. August 2012 um 17:33

    Hi,

    ich denke, dass das gar nicht möglich ist, da Kaspersky Rechte auf Systemebene hat.
    An die kommt man bestimmt nicht einfach heran und wenn man es doch irgendwie hinbekommt wird es von jedem halbwegs guten Anti Malwarescanner erkannt, da man ja auch wirklich böse Sachen damit anstellen kann.

    Ich weiß selbst nicht, wie das genau funktioniert, schätze aber, dass Windows selbst nur bestimmten Programmen Systemrechte gewährt.

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™