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

Beiträge von WhiteLion

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 6. November 2009 um 13:35

    also nach der datei hab ich gefragt, weil die DLLLoad.exe normalerweise in dem verzeichnis liegen muss.
    natürlich hab ich die ping.exe anstelle dessen solange ins selbe verzeichnis kopiert. (wobei das natürlich für
    das beispiel uninteressant ist)
    jetzt der hammer: dein beispielt geht, wenn ich allerdings die komplette funktion in mein original source
    einfüge, dann gehts immernoch nicht !? - au man ... der bock muss irgendwo anders sitzen ....
    bestimmt eine variable die global ist oder so ... keine ahnung ... so ein mist aber auch :(

  • >>> Dienstplanprogramm fertig für jeder man nutzbar <<<

    • WhiteLion
    • 6. November 2009 um 12:36

    tolles tool... mal gucken ób ich meine freundin dazu überreden, kann es zu benutzen :)

  • Ansprechpartner (Name, Firma, Telefon) aus "Microsoft CRM 4.0" export zur Telefonanlage (Telefonbuch) Aastra Detewe X320

    • WhiteLion
    • 6. November 2009 um 12:34

    hut ab vor deinen skills :) auch wenns für mich mehr theorie ist, da ich weder die hardware besitze, noch in allen bereichen den code verstehe :)

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 6. November 2009 um 11:53

    hmmm, welchen code ich von euch auch einkopiere, es geht nicht :(
    ... es gibt auch keine fehlermeldung.
    ich poste jetzt mal wie mein code bisher aussieht bzw. wie ich mein tool trotzdem benutzen kann. (hab einfach die meldungen von hand geschrieben)

    aber es geht ja jetzt nurnoch ums prinzip warum es bei mir nicht geht!

    fehlt noch ein include???

    hier mal ausschnittweise alle relevanten stellen:
    wie gesagt: die meldungen gehen und alles :( bin ich soooo blöde !?

    Spoiler anzeigen
    [autoit]


    #include <array.au3> ; wird nur für _ArrayDisplay benötigt
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #include <GuiListView.au3>
    #include <GuiEdit.au3>
    #include <GuiStatusBar.au3>
    #include <StaticConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ScrollBarConstants.au3>
    #include <EditConstants.au3>
    #include <Constants.au3>

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

    Opt('MustDeclareVars', 1)
    $Debug_Ed = False
    Local $msg, $x, $strComputer, $objWMIService, $colComputers, $colItems, $iLen, $iHoriz = 0, $iVert = 100
    Global $input = GUICtrlCreateEdit("Starting interface....", 10, 350, 480, 120, BitOR($ES_AUTOVSCROLL , $WS_VSCROLL))

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

    Global $processname = ("ping.exe")

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

    Func _StartTeknogodsDLL()
    If FileExists($processname) Then
    If ProcessExists($processname) Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Process was already running:" & $processname & " It will be closed and restarted!")
    ProcessClose ($processname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Process closed! Will be restarted soon...")
    Sleep(5000)
    Local $hPID = Run("ping.exe", "", @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD) ;hier können noch parameter hinter den prozessnamen gehängt werden!
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Starting external program: " & $processname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "You can run the game now! Remember: Use F12-key in game to activate!")
    Else
    Local $oldData = ""
    Local $hPID = Run("ping.exe", "", @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD) ;hier können noch parameter hinter den prozessnamen gehängt werden!
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Starting external program: " & $processname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "You can run the game now! Remember: Use F12-key in game to activate!")
    ProcessWaitClose($hPID)
    Do
    Local $readData = StdoutRead($hPID)
    If $readData <> $oldData Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & $readData)
    $oldData = $readData
    EndIf
    ExitLoop
    Until 0
    EndIf
    Else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "File not found:" & $processname & " It musst be placed in the same directory as this tool!")
    EndIf
    _GUICtrlEdit_LineScroll($input, $iHoriz, $iVert)
    EndFunc ;==>_StartTeknogodsDLL

    [/autoit]
  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 22:16
    Zitat von kleiner27

    Sag mal hast du dein code überhaubt selber geschrieben?????????????????????

    Schasu doch mal hin was fehlt denn da an stelle "loop" ??????????????????????????????????????????

    Oder versuchst du die DLLLod.exe ?? tja wie gesagt da helfe ich dir nicht!


    LG Kleiner

    also in der tat habe ich den teil aus einem beispiel.
    weiterhin bin ich von ausgegangen, dass er zumindest zig mal "loop" ins fenster schreibt... was er nicht tut
    normal müsste da nach meinem verständniss "$readData" hin. was natürlich auch nicht klappt.
    und nein,ich habe mit ping.exe probiert...

    der befehl ProcessWaitClose($hPID) ist mir auch unklar ? <- demnach pausiert das script ja nach dem ausführen.
    aber es muss doch noch in die schleife damit es geht !?

    sorry das ist mein drittes programm und ich hatte immer nen jahr pause zwischen deswegen raucht mir ganz schön der kopf
    nachdem ich jetzt schon 3 tage davor sitze.

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 21:25

    scheint nicht zu gehen ...
    ich habs per copy and paste reingemacht und
    die #include <Constants.au3> geadded
    der listet in dem fenster nichtmal den text "loop" :(

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 20:04

    hi kleiner,

    das heisst doch gar nichts, wie gesagt: sogar upx wird von einigen av programmen als schädlich erkannt.
    und da dieses programm gecryptet ist und einen laufenden prozess patcht reicht das der meisten av-software
    aus um den proaktiv-schutz auszulösen.
    es ist vergleichbar mit xp-antispy mit dem man ja z.B. auch das verbindungslimit patchen kann. was ja auch legal ist.

    aber davon mal ganz abgesehen, ich bekomme es in meiner routine ja schon nicht hin, wenn ich ein anderes-dos
    programm nehme... :(

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 14:36

    kein problem, infos gibt es hier: http://www.teknogods.com
    hier stehts genau:
    http://www.teknogods.com/phpbb/viewtopic.php?f=8&t=94
    zitat:
    I searched around for a way to get RE5 working over Hamachi and I found this. Tried the latest beta and it worked like a charm. But, I'l like to know what this actually is, what it does?

    Is this mod a way to make GFWLive tunnle all traffic to Hamachi or how does it work? What actually happens when you press F12 and then F12 again? Why is this mod necessary? Is there and explanation of this mod and what it actually does?

    Ansewer: It patches the 30ms ping check. So if your ping is over 30ms it won't let you join the game.


    Also ich nutze das tool selber, es schaut alle 10 sekunden ob eins der unterstützten spiele läuft (prozess) und wenn es
    läuft patcht es xlive so wie ich geschrieben habe. im spiel drückt mann dann F12, wenn man keine verbindung bekommt
    das ändert das ping-limit. mein tool ändert die tatsachte, dass man mit xlive einen anderen adapter nutzen kann. das muss man
    sonst von hand machen in der reg...

    ich habs noch nicht getestet, daber wenn ein virus oder so angezeigt wird, dann liegt das sicherlich am packer.
    ich wollte es mal reversen, da ich auch erst nicht wusste was genau passiert.dabei hab ich rausgefunden, dass es mit yodas
    protector gepackt ist, da gibts genau wie bei upx auch mal nen falschalarm vom AV scanner.
    anhand der comunity kannst du aber selber erkennen dass es funktioniert und harmlos ist!

    EDIT: Verdammt ich hab keinen plan warum ich die dosausgaben nicht abfangen kann :(

    [autoit]


    Func _StartTeknogodsDLL()
    If FileExists($processname) Then
    If ProcessExists($processname) Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Process is already running:" & $processname & " Cant be started twice!")
    Else
    Local $oldData = ""
    Local $hPID = Run("ping.exe heise.de", "", @SW_HIDE, 6) ;hier können noch parameter hinter den prozessnamen gehängt werden!
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Starting external program: " & $processname)
    Do
    ; GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "loop")
    Local $readData = StdoutRead($hPID, 1)
    If $readData <> $oldData Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "loop")
    GUICtrlSetData($input, $input & @CRLF & $readData)
    $oldData = $readData
    else
    ExitLoop
    EndIf
    Until 0
    EndIf
    Else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "File not found:" & $processname & " It musst be placed in the same directory as this tool!")
    EndIf
    _GUICtrlEdit_LineScroll($input, $iHoriz, $iVert)
    EndFunc ;==>_StartTeknogodsDLL

    [/autoit]
  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 13:27

    hallo, danke abschließend nochmal für die hilfe :) ... hätte ich ohne dich sicher nicht geschafft!

    aber eins möchte ich noch klarstellen: das ist aber kein BOT!!!
    die teknogods dll ist ein programm was bei spielen die sich über xlive verbinden den ping verbessert!
    xlive blockiert leider von haus aus, dass man spiele über LAN spielen kann wenn der ping unter 30ms ist.
    leider erreicht man diesen ping kaum über Hamachi oder anderes virtuelles LAN-netzwerk.
    das hat nichts mit einem bot zu tun oder !?

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 5. November 2009 um 01:27

    1000 Dank! - ich habe fast alles so weit hinbekommen wie ich wollte!
    Jetzt hänge ich noch an kleinigkeiten...

    - meine Reports laufen jetzt über ein statusfenster (inputbox)
    doch leider scrollt das fenster nicht laufend mit :(
    ich dachte " _GUICtrlEdit_Scroll($input, $SB_BOTTOM)"
    hilft, tut es aber leider nicht :(
    - mein größtes problem ist dass ich in der inputbox die DOS-Ausgaben
    des programmes DLLLoader.exe abfangen möchte, was leider nicht klappen
    mag :( evtl kannst du da helfen?
    - kosmetische sachen fehlen natürlich auchnoch

    hier der link mit dem source, der teknogodsdatei und dem compilierten programm von mir.
    http://rapidshare.de/files/48634890…odsDLL.rar.html

    vielen dank für die mühe!


    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=test\test.exe
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <array.au3> ; wird nur für _ArrayDisplay benötigt
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #Include <GuiListView.au3>
    #include <GuiEdit.au3>
    #include <GuiStatusBar.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ScrollBarConstants.au3>

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

    ; GUI
    GuiCreate("Sample GUI", 500, 400)
    GuiSetIcon(@SystemDir & "\mspaint.exe", 0)
    global $button1 = GUICtrlCreateButton("Use Selected Adapter",10,130,130, 30)
    global $button2 = GUICtrlCreateButton("Refresh Adapterlist",180,130,130, 30)
    global $button3 = GUICtrlCreateButton("Start Teknogods DLL",360,90,130, 30)
    global $button4 = GUICtrlCreateButton("Restore Default Adapter",360,130,130, 30)
    Global $listView = GuiCtrlCreateListView(" Nr. | Adaptername | Networkname | IP-Adress |", 10, 160, 480, 90)
    Global $input = GUICtrlCreateEdit("Statusreport:", 10, 270, 480, 120, BitOR($ES_WANTRETURN, $WS_VSCROLL))

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

    Global $networkadapter [1] [3] ; definiere eine global nutzbaren wert fürs array
    Global $networkadaptername=("default")
    Global $networkname=("default")
    Global $networkip=("default")
    Global $SelectedNetworkName=("default")
    Global $processname=("DLLLoad.exe")

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

    _GetNetworkadapter() ;suche nach Netzwerkadaptern,Namen,Is und schreibt die in ein Array
    _ListNetworks()

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

    ;Auslesen der Netzwerkadapter:
    ; Selbstbestimmter Name
    ; int. Beschreibung
    ; IP Adresse
    Func _GetNetworkadapter ()
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Getting networkadapters of localhost")
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $networkadapter [$x] [0] = $objitem.Name
    $networkadapter [$x] [1] = $objitem.NetConnectionID
    $x += 1
    Redim $networkadapter [$x + 1] [3]
    Next
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
    For $objItem In $colItems
    For $i = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$i] [0] = $objitem.Description Then
    $networkadapter [$i] [2] = $objitem.IPAddress(0)
    EndIf
    Next
    Next
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Networkadapters succsessul found on localhost!")
    EndFunc

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

    ;Suchen nach Netzwerknamen und zusortieren der Adapter
    Func _SearchNetworknames ($searchstring)
    $sColumn = 0

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

    $iIndex = _ArraySearch($networkadapter, $searchstring, 0, 0, 0, 1, $sColumn)
    If @error Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Internet to LAN emulating devive:" & $searchstring & " not found!")
    _GUICtrlEdit_Scroll($input, $SB_PAGEDOWN)
    Else
    Global $networkadaptername = $networkadapter[$iIndex][$sColumn]
    Global $networkname = $networkadapter[$iIndex][$sColumn+1]
    Global $networkip = $networkadapter[$iIndex][$sColumn+2]
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Networkadapter found:" & $searchstring & " Info:"& $networkadaptername & $networkname & $networkip)
    _GUICtrlEdit_Scroll($input, $SB_PAGEDOWN)
    EndIf
    EndFunc

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

    ;schreibt den selektierten netzwerknamen in die registrierung
    Func _WriteRegistration()
    $SelectedNetworkName = _GUICtrlListView_GetSelectionMark($listview)
    $SelectedNetworkName = _GUICtrlListView_GetItemText($ListView, $SelectedNetworkName,2)
    if $SelectedNetworkName=("") Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Error: Nothing selected!" & $SelectedNetworkName)
    else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing (XLive) connectionoverride registrationkey:" & $SelectedNetworkName)
    _GUICtrlEdit_Scroll($input, $SB_BOTTOM)
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride", "REG_SZ", $SelectedNetworkName)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing to registration done!")
    _GUICtrlEdit_Scroll($input, $SB_LINEDOWN)
    EndIf
    EndFunc

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

    ; LIST VIEW
    Func _ListNetworks ()
    _SearchNetworknames ("Tunngle")
    GUICtrlCreateListViewItem("1 |"&$networkadaptername&"|"&$networkname&"|"&$networkip, $listview)
    _SearchNetworknames ("Hamachi")
    GUICtrlCreateListViewItem("2 |"&$networkadaptername&"|"&$networkname&"|"&$networkip, $listview)

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

    GUISetState()

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

    Do
    $msg = GUIGetMsg()

    Select
    Case $msg = $button1
    _WriteRegistration()
    Case $msg = $button2
    $x=0
    Do
    _GUICtrlListView_DeleteItem($ListView, 0)
    $x=$x+1
    Until $x=50
    _ListNetworks()
    Case $msg = $button3
    _StartTeknogodsDLL ()
    Case $msg = $button4
    RegDelete("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride")
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "XLive Registrationkey 'ConnectionOverride' deleded using standard IP now!")
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE
    GUIDelete()
    exit
    EndFunc

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

    Func _StartTeknogodsDLL()
    if FileExists ($processname) Then
    If ProcessExists($processname) Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Process is already running:" & $processname & " Cant be started twice!")
    _GUICtrlEdit_Scroll($input, $SB_BOTTOM)
    Else
    Do

    Local $oldData = ""
    Local $hPID = Run("DLLLoad" , "", @SW_HIDE , 6) ;hier können noch parameter hinter den prozessnamen gehängt werden!
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Starting external programm: " & $processname)
    _GUICtrlEdit_Scroll($input, $SB_LINEDOWN)
    $readData = StdoutRead($hPID, 1)
    If $readData <> $oldData Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & $readData)
    $oldData = $readData
    EndIf
    ExitLoop
    Until 0
    EndIf
    Else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "File not found:" & $processname & " It musst be placed in the same directory as this tool!")
    EndIf
    EndFunc ;==>_StartTeknogodsDLL

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

    ; GUI MESSAGE LOOP
    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]
  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 4. November 2009 um 09:35
    Zitat von kleiner27

    Schön das du es verstanden hast! ;)

    Zu deiner fage: wenn ich sie richtig verstanden habe willst du wissen was die überschriften der ListenListView ist die du ja selber festgelegt hast?????? ?( !
    Ich versteh nicht ganz mit "position 2" meinst du ´die überschriften denn da ist doch an zweiter stelle Networkname???!!
    Oder meinst du die MsgBox ? Wenn ja da hast du ja auch die ausgabe selber geschrieben und wenn du da wo du versucht hast die überschriften zu lesen die MsgBox meinst da kannst du dan auch deine eigene ausgabe schrieben wie bei den anderen auch?!!!

    ????Frage über fragen????

    Wenn du schon ein laufendes skript hast poste es doch bitte dann kann ich auch besser verstehen was du meinst und weitere fragen werden einfacher zu klären sein!
    Denn du hast ja nur die hälfte hir rein gestellt!!!!!!

    hier das script als es noch lief:


    LG Kleiner

    Alles anzeigen

    hihi ... neeeeeein natürlich möchte ich das nicht aus der beschriftung filtern ... das war ja nur ein beispiel
    ich möchte es aus den darunterliegenden quasi selbsteingefügten werten auslesen, was in dem beispiel auch
    schon ganz gut klappt. der nutzer selektiert/markiert eins der gefundenen netzwerke und dann klickt er den
    button. anschließend schreibt das programm den zweiten wert (also den netzwerknamen) in die registrierung.

    hier gings nocht bis aud die tatsache, dass die filterung (das was in der messagbox steht) nicht klappt.
    da sollte eigentlich der netzwerkname stehen. ... den brauch ich wieder im string um ihn dann in die registrierung
    und schreiben... ich hoffe das war verständlich.

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=test.exe
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <array.au3> ; wird nur für _ArrayDisplay benötigt
    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>

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

    ; GUI
    GuiCreate("Sample GUI", 500, 400)
    GuiSetIcon(@SystemDir & "\mspaint.exe", 0)

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

    Global $networkadapter [1] [3] ; definiere eine global nutzbaren wert fürs array

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

    _GetNetworkadapter() ;suche nach Netzwerkadaptern,Namen,Is und schreibt die in ein Array
    _ListNetworks()

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

    ;Auslesen der Netzwerkadapter:
    ; Selbstbestimmter Name
    ; int. Beschreibung
    ; IP Adresse
    Func _GetNetworkadapter ()
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $networkadapter [$x] [0] = $objitem.Name
    $networkadapter [$x] [1] = $objitem.NetConnectionID
    $x += 1
    Redim $networkadapter [$x + 1] [3]
    Next
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
    For $objItem In $colItems
    For $i = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$i] [0] = $objitem.Description Then
    $networkadapter [$i] [2] = $objitem.IPAddress(0)
    EndIf
    Next
    Next
    EndFunc

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

    ;Suchen nach Netzwerknamen und zusortieren der Adapter
    Func _SearchNetworknames ($searchstring)
    $sColumn = 0

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

    $iIndex = _ArraySearch($networkadapter, $searchstring, 0, 0, 0, 1, $sColumn)
    If @error Then
    MsgBox(0, "Note:" ,"No virtual networkadapter found! Please install Hamachi/Tunngle !")
    Else
    Global $networkadaptername = $networkadapter[$iIndex][$sColumn]
    Global $networkname = $networkadapter[$iIndex][$sColumn+1]
    Global $networkip = $networkadapter[$iIndex][$sColumn+2]
    MsgBox(0, "" , $networkadaptername & $networkname & $networkip)

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

    EndIf
    EndFunc

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

    Func _WriteRegistration()
    ;_SearchNetworknames ("Hamachi")
    ;RegWrite("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride", "REG_SZ", $networkname)
    EndFunc

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

    ; LIST VIEW
    Func _ListNetworks ()
    ;_SearchNetworknames ("")
    $listView = GuiCtrlCreateListView(" Adaptername | Networkname | IP-Adress | Found |", 10, 200, 490, 140)
    _SearchNetworknames ("L")
    $item1 = GUICtrlCreateListViewItem($networkadaptername&"|"&$networkname&"|"&$networkip, $listview)
    _SearchNetworknames ("D")
    $item2 = GUICtrlCreateListViewItem($networkadaptername&"|"&$networkname&"|"&$networkip, $listview)

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

    ; $input1 = GUICtrlCreateInput("", 20, 200, 150)
    ; GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
    GUISetState()
    $button = GUICtrlCreateButton("Use Selected Adapter",10,380,300, 20)
    Do
    $msg = GUIGetMsg()

    Select
    Case $msg = $button
    $tmp = GUICtrlRead(GUICtrlRead($listview))
    $tmp = StringMid($tmp,StringInStr($tmp,"|",1,1)+1)
    $tmp = StringTrimRight($tmp,StringInStr($tmp,"|",1,2))
    MsgBox(0, "listview item",$tmp, 2)
    ; Case $msg = $listview
    ; MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

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

    EndFunc

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

    ; GUI MESSAGE LOOP
    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]
  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 3. November 2009 um 23:24

    hi kleiner :) und danke für das durchforsten!
    ich bin deinem rat gefolgt und nochmal einen schritt zurück als noch alles funktionierte, nämlich bevor ich anhand eines beispiels
    versucht habe die DOS-dinge abzufangen. das implementiere ich dann erst, wenn der rest läuft....
    also ich würde gerne wissen wie ich aus einem string (es geht um zeile 91-93) der z.B. so aussieht:
    (" Adaptername | Networkname | IP-Adress | Found |")
    den inhalt zwischen den beiden | strichen herauslesen und in einen string wandeln kann so dass mein string bei "position 2"
    z.B. "Networkname" ist.

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 3. November 2009 um 21:00

    hmmm, da hab ich euch wohl mit meinem code erschlagen, was ? :whistling:

  • einige fragen zu meinem soucecode/projekt

    • WhiteLion
    • 3. November 2009 um 17:06

    Also,

    ich habe mal meine angefangenes projekt hier gepostet. so ganz komme ich bei einigen dingen noch nciht weiter.
    wäre toll, wenn ihr mir auch weiterhint eure guten tipps zukommen lasst. der source ist eigentlich gut beschrieben, aber vermutlich
    für die profis unter euch sicher etwas "komisch"/umständlich.
    Ich frag mal drauf los:

    - ich würde gerne meine kompletten messageboxen unten in das status/inputfenster lenken... wie stelle ich das an?
    - das inputfenster soll mal dazu dienen ein externes programm zu starten welches eine DOS-ausgabe, diese sollte abgefangen werden.
    ich habe zwar ein beispiel benutzt, aber leider renne ich immer durch die schleifen und weiss nicht so recht wie ich mehrere buttons
    und das fenster aktiv halte... und das am besten mit kaum CPU-auslastung :(
    - ich benötige eine möglichkeit den listvieweintrag "netzwerkname" zu filtern ... im ansatz klappts ... aber ich weiss nicht wie ich den string
    so filtere, dass alles nach einem bestimmten zeichen abgeschnitten wird.

    heir der source:

    [autoit]

    #include <array.au3> ; wird nur für _ArrayDisplay benötigt
    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstants.au3>
    #include <File.au3>
    #include <Date.au3>

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

    Opt("GUIOnEventMode", 1) ; OnEvent-Mode einschalten

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

    ; ##### Gui Control ##################################################################
    $Form1 = GuiCreate("Inputfiels", 500, 400)
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    $output = GUICtrlCreateEdit("", 10, 330, 490, 70, BitOr($GUI_SS_DEFAULT_EDIT,$ES_MULTILINE))
    GUISetState(@SW_SHOW)
    GUICtrlCreateLabel("Status", 10, 310, 34, 17)
    GUICtrlCreateLabel("Virtual LAN Adapters found", 10, 160, 340, 17)
    GuiSetIcon(@SystemDir & "\mspaint.exe", 0)
    $listView = GuiCtrlCreateListView(" Adaptername | Networkname | IP-Adress | Found |", 10, 180, 490, 100)

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

    Global $networkadapter [1] [3] ; definiere eine global nutzbaren wert fürs array

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

    _GetNetworkadapter() ;suche nach Netzwerkadaptern,Namen,Is und schreibt die in ein Array
    _ListNetworks() ;schreibe gefundene Adapter in Liste
    _StartTeknogodsDLL() ;starte externes programm und fange dosausgabe ab

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

    ;Auslesen der Netzwerkadapter:
    ; Selbstbestimmter Name
    ; int. Beschreibung
    ; IP Adresse
    Func _GetNetworkadapter ()
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $networkadapter [$x] [0] = $objitem.Name
    $networkadapter [$x] [1] = $objitem.NetConnectionID
    $x += 1
    Redim $networkadapter [$x + 1] [3]
    Next
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
    For $objItem In $colItems
    For $i = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$i] [0] = $objitem.Description Then
    $networkadapter [$i] [2] = $objitem.IPAddress(0)
    EndIf
    Next
    Next
    EndFunc

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

    ;Suchen nach Netzwerknamen und zusortieren der Adapter
    Func _SearchNetworknames ($searchstring)
    $sColumn = 0

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

    $iIndex = _ArraySearch($networkadapter, $searchstring, 0, 0, 0, 1, $sColumn)
    If @error Then
    MsgBox(0, "Note:" ,"No virtual networkadapter found! Please install Hamachi/Tunngle !")
    Else
    Global $networkadaptername = $networkadapter[$iIndex][$sColumn]
    Global $networkname = $networkadapter[$iIndex][$sColumn+1]
    Global $networkip = $networkadapter[$iIndex][$sColumn+2]
    MsgBox(0, "" , $networkadaptername & $networkname & $networkip)

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

    EndIf
    EndFunc

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

    ; LIST VIEW
    Func _ListNetworks ()
    ;_SearchNetworknames (" ")
    _SearchNetworknames ("Hamachi")
    $item1 = GUICtrlCreateListViewItem($networkadaptername&"|"&$networkname&"|"&$networkip, $listview)
    _SearchNetworknames ("Tunngle")
    $item2 = GUICtrlCreateListViewItem($networkadaptername&"|"&$networkname&"|"&$networkip, $listview)

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

    ; $input1 = GUICtrlCreateInput("", 20, 200, 150)
    ; GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
    GUISetState()
    $button = GUICtrlCreateButton("Use Selected Adapter",100,280,300, 20)
    Do
    $msg = GUIGetMsg()

    Select
    Case $msg = $button
    $tmp = GUICtrlRead(GUICtrlRead($listview))
    $tmp = StringMid($tmp,StringInStr($tmp,"|",1,1)+1)
    $tmp = StringTrimRight($tmp,StringInStr($tmp,"|",1,2))
    MsgBox(0, "listview item",$tmp, 2)
    ; Case $msg = $listview
    ; MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

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

    EndFunc

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

    ; externe anwendung und DOS abfangen
    Func _StartTeknogodsDLL ()
    $oldData = ""

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

    While 1
    ; Path exist in InputField Funktion?
    $hPID = Run("ping heise.de", "", @SW_HIDE, 6)
    While ProcessExists($hPID)
    $readData = StdoutRead($hPID, 1)
    If $readData <> $oldData Then
    GUICtrlSetData($output, GUICtrlRead($output) & @CRLF & $readData)
    $oldData = $readData
    EndIf
    WEnd
    Sleep(100)
    WEnd

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

    EndFunc

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

    ; schreibe selektion in die registrierung
    Func _WriteRegistration($slectednetworkname)
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride", "REG_SZ", $selectednetworkname)
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • GUICtrlCreateListViewItem <- strings verwenden?

    • WhiteLion
    • 3. November 2009 um 13:01

    au man bin ich doooof ... ich wollte die strings weiterverarbeiten und war schon auserhalb einer/der funktion....
    wenn ich innerhalb selbiger bleibe gehts natürlich.... verdammt ... so ein ärger wegen sonem blöden fehler! :(

    muss ich mir mal das mit den funktionen angucken wie ich werte/strings übergebe bzw ausserhalb der funktion weiterverarbeiten kann.

  • GUICtrlCreateListViewItem <- strings verwenden?

    • WhiteLion
    • 3. November 2009 um 12:30
    Zitat von Schnitzel

    hab nich alles durchgelesen aber etwas zu nem string machen geht mit String() :D

    ja, aber ich glaube bei einem array ist das noch etwas anders oder wozu gibts sonst _arraytostring ? :)
    $string1 = String($string1)
    hat jedenfalls nicht funktioniert.

  • GUICtrlCreateListViewItem <- strings verwenden?

    • WhiteLion
    • 3. November 2009 um 12:14

    ich habe das problem gefunden, aber noch keine lösung.
    da ich die strings aus einem 2D array definiert habe sinds wohl noch keine echten strings und das ganze funktioniert nicht.
    bei mir werden die so definiert, was wohl falsch ist... nur wie gehts richtig bzw wie wandelt man die um?
    $string1 = $array1[$xpos][$ypos+1]
    msgbox zeigt mir jedenfalls die "zelle" im array richtig an, so dass ich dachte ich kann es auch als string weiterverarbeiten.
    _ArrayToString($string1, , 0, 0)
    geht ja mit 2D arrays nicht und selbst nach wenn ichs so versuche ist es immernoch kein verwertbarer string ... wie bekomme ich daraus nun einen string?

  • GUICtrlCreateListViewItem <- strings verwenden?

    • WhiteLion
    • 3. November 2009 um 11:07

    was wäre ich nur ohne dieses forum? :)

    also, ich habe leider keine passende lösung gefunden und würde gerne meine list die 3 spalten enthält mit dem inhalt eines strings füllen.

    item1 =GUICtrlCreateListViewItem ($string1 & '|' & $string2 & '|' & $string3 , $listview)

    das ganze geht aber nicht, strings irgendwie nicht akzeptiert werden... wie bekomme ich da meine werte aus den strings hin!?

  • _arraytostring geht nicht !?

    • WhiteLion
    • 3. November 2009 um 03:13

    aha, hat geklappt :D thanx euch beiden ...

  • _arraytostring geht nicht !?

    • WhiteLion
    • 3. November 2009 um 01:28

    Hi... dieses mal hab ich eine kurze frage...

    also ich habe ein 2D array mit 3 spalten und 30 zeilen.
    jetzt möchte ich den inhalt von spalte 2 / zeile 18 in einen string wandeln und per messagebox ausgeben.
    ich schnall nicht wie es geht, da ich 1. nciht weiss wie ich die spalten, also in meinem beispiel $xposition, ansteuere.
    2. nicht versehe, warum meine msgbox gar nix wiedergibt obwohl das array definitiv da ist.

    $xposition=2
    $yposition=18

    $test=_ArrayToString($strassen, , $yposition,$yposition )
    MsgBox(0, "Name der Strasse lautet ", '"' & $test & '".')

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™