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

Beiträge von name22

  • GDI String Zeichnen Problem

    • name22
    • 9. August 2012 um 14:48

    ... Liest du was ich schreibe? 8|
    Natürlich kannst du die Werte lesen. Und? Erstens lässt du nur den ersten Wert per MsgBox ausgeben, zweitens verwendest du immer noch die falschen Werte für manche Parameter und drittens Hast du immer noch Handles in deiner Datei drin? Was machen die Handles da!? Ich hab dir doch schon erklärt, dass Handles nicht mehr gültig sind wenn der Prozess beendet wird der sie erzeugt hat... Handles sind im Grunde Adressen zu Objekten im Arbeitsspeicher. Der Arbeitsspeicher wird aber erstens gelöscht wenn du den Computer runterfährst und zweitens wird der Teil des Arbeitsspeichers den ein Script sich reserviert (wo dann auch die GDI+ Objekte nachher sind) gelöscht nachdem ein Script sich beendet. Diese Hexadezimalzahlen sind nutzlos wenn du sie in eine Datei schreibst und später in einem anderen Programm verwenden willst!
    Das ist aber nicht das einzige Problem. Die Funktion die du aufrufst erwartet nirgendwo (außer bei der Grafik) ein Handle! Wieso willst du da ubedingt eins angeben?
    Du kannst doch eine Funktionsbeschreibung lesen, oder?

    Spoiler anzeigen
    [autoit]

    ; Parameter(s): .: $h_Graphics - Handle to a Graphics object
    ; $s_String - String to be drawn
    ; $n_X - X coordinate where the string will be drawn
    ; $n_Y - Y coordinate where the string will be drawn
    ; -> $n_Size - Font size to use for drawing - Kein Handle, sondern eine normale Zahl sollst du hier angeben...
    ; -> $b_Color - Alpha, Red, Green and Blue components - Hier sollst du einen ARGB Farbwert angeben, auch kein Handle... (z.B. 0xFFAE0033)
    ; $i_Align - The alignment can be one of the following:
    ; |0 - The text is aligned to the left
    ; |1 - The text is centered
    ; |2 - The text is aligned to the right
    ; $i_Weight - The style of the typeface. Can be a combination of the following:
    ; |0 - Normal weight or thickness of the typeface
    ; |1 - Bold typeface
    ; |2 - Italic typeface
    ; |4 - Underline
    ; |8 - Strikethrough
    ; $s_Font - Name of the Font Family

    [/autoit]


    Dann gibst du auch noch für 2 verschiedene Parameter, die verschiedene Werte in komplett verschiedenen Dimensionen erwarten den gleichen Wert an:
    _GDIPlus_GraphicsDrawStringCustom ($h_Buffer, $anewFile[$i][0],$anewFile[$i][3],$anewFile[$i][4],$anewFile[$i][7],$anewFile[$i][7],$anewFile[$i][1])
    Wieso? Jetzt verwendest du eine nahezu transparente Farbe und eine unmöglich große Schriftgröße... Das kann doch nie im Leben stimmen....

  • Fileread eines Bildes (JPG) hapert

    • name22
    • 8. August 2012 um 22:03

    Wenn du es jetzt schaffst den Binärcode des komprimierten JPEGs in Textform sinnvoll anzupassen fress ich 'n Besen...

  • Wünsch dir was: Chatserver

    • name22
    • 8. August 2012 um 21:15

    Dateiübertragung und Darstellungsmodifikationen ( z.B. Farbcodes).

  • GDI String Zeichnen Problem

    • name22
    • 8. August 2012 um 19:57

    1. Du kannst keine Handles zu Objekten im Arbeitsspeicher in einer Textdatei speichern und erwarten, dass die beim nächsten Zugriff noch da sind... Der Speicherbereich der von deinem Programm reserviert wird ist weg, nachdem es beendet wurde.
    2. Die Funktion erwartet noch nicht einmal Handles zu Objekten (außer beim ersten Parameter) und kann damit nichts anfangen (besonders nicht wenn die Handles mittlerweile völlig nutzlos sind und zu einem Objekt zeigten, dass gar nichts mit dem Parameter zu tun hat).
    3. Du verwendest für die Parameter $n_Size und $b_Color den selben Parameter ('0x03F66E60' soweit ich sehen kann), d.h. eine nahezu unsichtbare Farbe mit einem Alpha Wert von 3 (fast vollständig transparent) und eine Schriftgröße von 66481760 Punkten. Ich glaube, kein Drucker der Welt ist in der Lage so große Buchstaben zu drucken. Und ob unser Planet dafür genügend Papier und Tinte hat weiß ich auch nicht.
    Das sind so die Knackpunkte die mir aufgefallen sind. Danach hab ich keine Fehler mehr gesucht.

  • Youtube Kanal aufrufen

    • name22
    • 6. August 2012 um 18:26
    Zitat

    Hätte ich die au3 hochladen müssen?


    Da du hier im Subforum "Skripte" befindest wäre es ganz angebracht auch ein Skript zur Verfügung zu stellen, nicht nur die kompilierte Binärversion.

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 5. August 2012 um 20:53

    Sieht für mich nach einem Problem mit meinem regulären Ausdruck aus... :whistling:
    Versuchs so nochmal:

    Spoiler anzeigen
    [autoit]

    #include <WinHTTP.au3>

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

    $hOpen = _WinHttpOpen("Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2")
    $hConnect = _WinHttpConnect($hOpen, "192.168.4.8")
    If @error Then Exit MsgBox(16, "Error", "Unable to establish connection")

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

    $hRequest = _WinHttpOpenRequest($hConnect, "POST", "login_json", Default, "http://192.168.4.8/")
    _WinHttpSendRequest($hRequest, Default, "LOGIN_NOW=true&LOGIN_NAME=XX&LOGIN_PASS=XXX")

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

    _WinHttpReceiveResponse($hRequest)
    If Not _WinHttpQueryDataAvailable($hRequest) Then Exit MsgBox(16, "Error", "No data in request")

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

    $sHeader = _WinHttpQueryHeaders($hRequest)
    ConsoleWrite($sHeader & @CRLF & @CRLF)

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

    $sContent = ""
    While Sleep(20)
    $sContent &= _WinHttpReadData($hRequest)
    If @error Then ExitLoop
    WEnd
    ConsoleWrite($sContent & @CRLF & @CRLF)
    _WinHttpCloseHandle($hRequest)

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

    $aCookies = StringRegExp($sHeader, "Set-Cookie: (\V+)\s*", 3)
    If @error Then Exit MsgBox(16, "Error", "No cookies found.")
    $sCookieString = ""
    For $i = 0 To UBound($aCookies) -1
    $sCookieString &= $aCookies[$i]
    If $i < UBound($aCookies) -1 Then $sCookieString &= "; "
    Next
    ConsoleWrite("Cookie: " & $sCookieString & @CRLF & @CRLF)

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

    $hRequest = _WinHttpOpenRequest($hConnect, "GET", "configs_state", Default, "http://192.168.4.8/")
    _WinHttpSendRequest($hRequest, "Cookie: " & $sCookieString)

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

    $sHeader = _WinHttpQueryHeaders($hRequest)
    ConsoleWrite($sHeader & @CRLF & @CRLF)

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

    $sContent = ""
    While Sleep(20)
    $sContent &= _WinHttpReadData($hRequest)
    If @error Then ExitLoop
    WEnd
    ConsoleWrite($sContent & @CRLF & @CRLF)
    _WinHTTPCloseHandle($hRequest)

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

    _WinHTTPCloseHandle($hConnect)
    _WinHTTPCloseHandle($hOpen)

    [/autoit]


    ("Set-Cookie: (.+)" ersetzt durch "Set-Cookie: (\V+)\s*", da der Zeilenumbruch nicht vollständig entfernt wird)

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 5. August 2012 um 19:32

    Versuchs mal damit:

    Spoiler anzeigen
    [autoit]

    #include <WinHTTP.au3>

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

    $hOpen = _WinHttpOpen("Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2")
    $hConnect = _WinHttpConnect($hOpen, "192.168.4.8")
    If @error Then Exit MsgBox(16, "Error", "Unable to establish connection")

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

    $hRequest = _WinHttpOpenRequest($hConnect, "POST", "login_json", Default, "http://192.168.4.8/")
    _WinHttpSendRequest($hRequest, Default, "LOGIN_NOW=true&LOGIN_NAME=XX&LOGIN_PASS=XXX")

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

    _WinHttpReceiveResponse($hRequest)
    If Not _WinHttpQueryDataAvailable($hRequest) Then Exit MsgBox(16, "Error", "No data in request")

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

    $sHeader = _WinHttpQueryHeaders($hRequest)
    ConsoleWrite($sHeader & @CRLF & @CRLF)

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

    $sContent = ""
    While Sleep(20)
    $sContent &= _WinHttpReadData($hRequest)
    If @error Then ExitLoop
    WEnd
    ConsoleWrite($sContent & @CRLF & @CRLF)
    _WinHttpCloseHandle($hRequest)

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

    $aCookies = StringRegExp($sHeader, "Set-Cookie: (.+)", 3)
    If @error Then Exit MsgBox(16, "Error", "No cookies found.")
    $sCookieString = ""
    For $i = 0 To UBound($aCookies) -1
    $sCookieString &= $aCookies[$i]
    If $i < UBound($aCookies) -1 Then $sCookieString &= "; "
    Next
    ConsoleWrite("Cookie: " & $sCookieString & @CRLF & @CRLF)

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

    $hRequest = _WinHttpOpenRequest($hConnect, "GET", "configs_state", Default, "http://192.168.4.8/")
    _WinHttpSendRequest($hRequest, "Cookie: " & $sCookieString)

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

    $sHeader = _WinHttpQueryHeaders($hRequest)
    ConsoleWrite($sHeader & @CRLF & @CRLF)

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

    $sContent = ""
    While Sleep(20)
    $sContent &= _WinHttpReadData($hRequest)
    If @error Then ExitLoop
    WEnd
    ConsoleWrite($sContent & @CRLF & @CRLF)
    _WinHTTPCloseHandle($hRequest)

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

    _WinHTTPCloseHandle($hConnect)
    _WinHTTPCloseHandle($hOpen)

    [/autoit]


    Falls es nicht funktioniert, dann poste bitte die Konsolenausgabe und eventuelle Fehlermeldungen.

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 5. August 2012 um 18:26

    Indem du uns den relevanten Ausschnitt aus deinem Code zeigst. Das ist nie im Leben der selbe wie der den ich geschrieben habe. Schließlich wird als User-Agent der Standardmäßige AutoIt String angegeben. Du arbeitest also allem Anschein nach mit einem Code von dem wir keine Ahnung haben. Wie sollen wir dir jetzt helfen? Ich kann leider nicht hellsehen.

  • SB Zitate #4

    • name22
    • 5. August 2012 um 18:06

    @Sprenger Ich werde hart daran arbeiten ;).

  • SB Zitate #4

    • name22
    • 5. August 2012 um 17:59

    :rofl:
    Wann gibt's Teil 5? :D

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 5. August 2012 um 14:06

    Das kann doch irgendwie nicht sein, dass WinHTTP aus "Cookie:" "Set-Cookie:" macht... Wenn mit dem GET Request von AutoIt der falsche Header für die Cookies mitgeschickt wird, ist es ja kein Wunder, dass es nicht klappt.

  • Prozess schützen

    • name22
    • 4. August 2012 um 22:29

    Besorg dir einfach eine Firewall wie misterspeed bereits gesagt hat, da gibts auch kostenlose Angebote im Internet. Bei manchen Routern kannst du sogar Blacklists auf dem Domainnamen basierend festlegen (bei meiner FritzBox zum Beispiel).

  • XML Daten in ein Array einlesen... und dann nur leeres Array !?

    • name22
    • 4. August 2012 um 21:36

    Schau dir doch mal das erste Script an, daraus geht doch eindeutig hervor, dass die Funktion _XMLGetValue ein Array zurückgibt, dessen 2tes Element du haben willst. Du versuchst die zurückgegebenen Arrays direkt in dein 2-dimensionales Array zu schreiben.
    Versuchs mal so:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <_XMLDOMWrapper.au3>

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

    $XML = FileOpenDialog("", @ProgramFilesDir & "\autoit", "XML (*.xml)", 1)
    $XMLopen = _XMLFileOpen($XML)
    ConsoleWrite("Debug: $iRET = " & $XMLopen & @LF)
    $XMLcount = _XmlGetNodeCount("Orders/Order")

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

    Dim $arOrders[$XMLcount + 1][3]
    $arOrders[0][0] = 'B_Nr'
    $arOrders[0][1] = 'Euro'
    $arOrders[0][2] = 'Datum'

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

    For $i = 1 To $XMLcount
    $aTemp = _XMLGetValue("Order[" & $i & "]/OrderNumber") ;bestellnr
    $arOrders[$i][0] = $aTemp[1]
    $aTemp = _XMLGetValue("Order[" & $i & "]/GrandTotal") ;gesamtpreis
    $arOrders[$i][1] = $aTemp[1]
    $aTemp = _XMLGetValue("Order[" & $i & "]/CreationDate") ;bestelldatum
    $arOrders[$i][2] = $aTemp[1]
    Next

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

    _ArrayDisplay($arOrders)

    [/autoit]
  • Scite4Autoit - Syntax check prod ausschalten

    • name22
    • 4. August 2012 um 20:00

    Ist bei mir noch nie vorgekommen...
    Wenn du unbedingt den Syntaxcheck deaktivieren willst, dann füg diese Präprozessor Anweisung am Anfang des Scripts ein.

    [autoit]

    #AutoIt3Wrapper_Run_AU3Check=N

    [/autoit]


    Ich würde aber eher versuchen das Problem zu lösen, als es zu deaktivieren ^^.

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 3. August 2012 um 22:46
    Zitat

    Danke vielmals, klappt aber leider nicht. Ich bin mit meinem Latein gerade am Ende.


    Wir möglicherweise auch, wenn du uns nur "klappt nicht" als Fehlerbeschreibung anbietest... ^^

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 3. August 2012 um 20:56

    Ich hab mal aus deinen Daten was zusammengebastelt. Nach dem Prinzip sollte das funktionieren, aber teste kann ich das natürlich nicht.

    Spoiler anzeigen
    [autoit]

    $hOpen = _WinHttpOpen("Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2")
    $hConnect = _WinHttpConnect($hOpen, "192.168.4.8")

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

    $sResponse = _WinHttpSimpleRequest($hConnect, "POST", "login_json", "http://192.168.4.8/", "LOGIN_NOW=true&LOGIN_NAME=USERNAME&LOGIN_PASS=Kennwort")

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

    $aCookies = StringRegExp($sResponse, "Set-Cookie: (.+)", 3)
    $sCookieString = ""
    For $i = 0 To UBound($aCookies) -1
    $sCookieString &= $aCookies[$i]
    If $i < UBound($aCookies) -1 Then $sCookieString &= "; "
    Next

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

    $sResponse = _WinHttpSimpleRequest($hConnect, "GET", "Somepage.htm", "http://192.168.4.8/", Default, "Cookie: " & $sCookieString)

    [/autoit]
  • Prozess schützen

    • name22
    • 3. August 2012 um 18:07
    Zitat

    Edit2: Da ist noch etwas interesantes, das mir eben erst auffält. Es gibt 2 avp.exe Prozesse. Einer läuft auf SYSTEM und der andere auf meinem Benutzer.


    Das könnte der Prozess sein, der die die Möglichkeit gibt Einstellungen an Kaspersky vorzunehmen.

    Zitat

    Edit: name22 Wie loggt man sich denn als Superadmin ein? Davon hab' ich noch nie etwas gehört.


    Zum Beispiel hier: http://www.seitenreport.de/forum/beitraeg…_windows_7.html

  • Prozess schützen

    • name22
    • 3. August 2012 um 17:52

    Jeder Prozess der in der Hierarchie über dir steht, lässt sich nicht von dir beenden. Keine Instanz hat Zugriff auf eine andere Instanz mit höheren Rechten. Wenn du dich als Superadmin mit Systemrechten einloggst, dann kannst du auch Kaspersky beenden oder einen Prozess starten der sich nicht von einem Admin beenden lässt. So hab ich das zuminest verstanden...

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 3. August 2012 um 15:08
    Zitat

    Spricht das dafür, dass es klappt?


    Kommt drauf an wo der Cookie herkommt. Kannst du mal den HTTP Header posten der vom Server geschickt wird, nachdem du dich eingeloggt hast?

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 3. August 2012 um 12:21

    Cookies eines Servers werden über einen Headereintrag bei jedem HTTP-Request mitgesendet.

    [autoit]

    $qCode = _WinHttpSimpleRequest($connect, "GET", "testpage.htm", "192.168.4.8", Default, "Cookie: " & $sCookie)

    [/autoit]


    Wenn der Cookie vom Server über einen HTTP Headereintrag gesetzt wird (und nicht über Javascript o.Ä.) dann kannst du den so auslesen:

    [autoit]

    $aCookie = StringRegExp($qCode, "Cookie: (.+)", 1)
    ConsoleWrite($aCookie[0] & @CRLF)

    [/autoit]


    Ich hab das jetzt nicht getestet, aber es sollte doch korrekt sein.

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™