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

Beiträge von AnnaM

  • Virus Meldung Beta 3.3.7.3

    • AnnaM
    • 27. Mai 2011 um 17:48

    Also wenn man mal googlet, kommt diese Meldung auch bei Kaspersky und anderen auf. Bis jetzt wird gesagt, dass es sich um eine Falschmeldung handelt.
    Aber wer weiß. Ich würde sicherheitshalber die Datei in Quarantäne legen und ggf. Autoit neu installieren. Vlt auch mal ein Scan mit anderen Virenscannern?
    Mit GData und Norton 2011 hatte ich noch nie Probleme.

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 27. Mai 2011 um 17:02

    Hallo Progandy,

    vielen Dank, dass du mir so viel noch hilfst. Ist ja nicht selbstverständlich.
    Funktioniert nun super. Egal, was ich reinziehe, wird in der Liste angezeigt :)

    Vielen Dank nochmals,

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 27. Mai 2011 um 08:13

    So kanns doch nicht funktionieren!??! ohje.. was ist denn die Variable $g?
    Muss ich nicht dauernd im Hauptfenster in der Schleife abfragen, ob etwas reingekommen ist?

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <GuiStatusBar.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <INet.au3>
    #include <Misc.au3>

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

    Global $aGlobalArray, $hWnd_AutoIt, $iGlobalShowArray = 0, $sUniqueID = "load" ; Declare Variables.

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

    If Not _Singleton($sUniqueID, 1) Then

    MsgBox(0,"","Mehrfach-Aufruf")
    If Not WinWait($sUniqueID, "", 10) Then Exit MsgBox(0, '', "Fehler beim warten")
    Local $hTarget = HWnd(ControlGetText($sUniqueID, "", "ListBox1")) ; ListBox wird hier angesprochen
    WM_COPYDATA_SENDDATA($hTarget, "test") ; string "test" senden
    Exit
    EndIf

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

    #Region ### START Koda GUI section ### Form=
    Global $Form = GUICreate("load", 458, 360, -1, -1)
    Global $myList = GUICtrlCreateList("", 8, 8, 249, 266, BitOR($GUI_SS_DEFAULT_LIST,$LBS_NOSEL,$WS_HSCROLL))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    If $CmdLine[0] > 0 Then
    GUICtrlSetData($mylist, $CmdLine[1]&"|")
    EndIf

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

    MsgBox(0,"","unten")

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

    ; Jetzt bereit zum Daten empfangen
    GUIRegisterMsg($WM_COPYDATA, "WM_COPYDATA")
    AutoItWinSetTitle("-"&$sUniqueID&"-")
    ControlSetText("-"&$sUniqueID&"-", "", "ListBox1", $g) ; was soll das $g sein? Ist das nicht der neue Text? 8|
    AutoItWinSetTitle($sUniqueID)
    ; Ende handle veröffentlichen

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

    While True

    $msg = GUIGetMsg($Form)
    Select

    Case $msg = $GUI_EVENT_CLOSE
    _close()
    EndSelect


    WEnd

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

    Func WM_COPYDATA_SENDDATA($hHandle, $sString)
    Local $aReturn, $tParam, $tData
    $tData = DllStructCreate("wchar[" & StringLen($sString) + 1 & "]")
    DllStructSetData($tData, 1, $sString)
    $tParam = DllStructCreate("ulong_ptr;dword;ptr")
    DllStructSetData($tParam, 1, 0)
    DllStructSetData($tParam, 2, DllStructGetSize($tData))
    DllStructSetData($tParam, 3, DllStructGetPtr($tData))
    $aReturn = DllCall("user32.dll", "int", "SendMessageW", "hwnd", $hHandle, "uint", $WM_COPYDATA, "hwnd", 0, "ptr", DllStructGetPtr($tParam))
    If (@error) Or ($aReturn[0] = -1) Then Return 0
    Return 1
    EndFunc ;==>WM_COPYDATA_SENDDATA

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

    Func WM_COPYDATA($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $aArray, $tData, $tParam, $sString
    $tParam = DllStructCreate("ulong_ptr;dword;ptr", $ilParam)
    $tData = DllStructCreate("wchar[" & DllStructGetData($tParam, 2) / 2 & "]", DllStructGetData($tParam, 3))
    $sString = DllStructGetData($tData, 1)

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

    ; Daten setzen
    GUICtrlSetData($mylist, $sString)

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

    EndFunc ;==>WM_COPYDATA

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

    ;(

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 26. Mai 2011 um 23:29

    Ja, danke :) Hab ich gemerkt

    Aber ich bin wohl zu blöd um es bei mir einzubauen.

    Das ist mein Code bis jetzt:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <GuiStatusBar.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <INet.au3>
    #include <Misc.au3>

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

    If _Singleton("load",1) = 0 Then

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

    MsgBox(0,"","Mehrfach-Aufruf")
    Exit

    EndIf

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

    #Region ### START Koda GUI section ### Form=
    $Form = GUICreate("load", 458, 360, -1, -1)

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

    $myList = GUICtrlCreateList("", 8, 8, 249, 266, BitOR($GUI_SS_DEFAULT_LIST,$LBS_NOSEL,$WS_HSCROLL))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    If $CmdLine[0] > 0 Then
    GUICtrlSetData($mylist, $CmdLine[1]&"|")
    EndIf

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

    While True

    $msg = GUIGetMsg($Form)
    Select

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect

    WEnd

    [/autoit]

    Also, wenn ich eine Datei im Kontextmenü auf hinzufügen klicke, gehts super.
    Bei der nächsten Datei, also wenn das Fenster noch offen ist, gehts nicht mehr.. logisch.

    Nur ich checks nicht, wie man das Beispiel von dir - was echt das tut was ich will - auf meinen Fall übertragen kann.
    Könntest du mir helfen das umzuschreiben? Ich will ja die Dateinamen in diese Liste bekommen :(
    Das ist nur ein String, der ankommt. Z.B: "C:/test.txt" Hilfe ;(

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 26. Mai 2011 um 23:11

    Ich habe schon viele Beiträge von dir mir angesehen:
    [ offen ] _WinAPI_PostMessage + string

    Aber ich kapier nicht, wie ich das mit ein uns dem selben Fenster machen soll.
    Mein Programm wird ja aufgerufen und festgestellt, dass es offen ist und dann wieder geschlossen.
    Und genau in dieser Zeit muss ich ja den pfad speichern oder verschicken.

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 26. Mai 2011 um 22:19

    Ich würde es gerne mit StdinWrite & StdinWrite machen.
    Aber es klappt ja mal gar nicht. Keine Ahnung wie man das macht.

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 26. Mai 2011 um 20:13

    Danke schon einmal für deine Antwort.

    Aber ich glaube mit ControlSend kann ich nicht in eine Liste (GUICtrlCreateList) schreiben, oder?
    Möglichkeit 2 und 3 sind ganz schön komplex nur für eine Übergabe eines Pfades :)
    Möglichkeit 2 wäre ein Überlegung wert.

    Ansonsten gibt es keine Möglichkeit mehr? Würde das ja gerne mit ControlSend machen.
    Aber das kenne ich nur mit einer Inputbox und ähnliches.

  • Dateien per Kontextmenü in eine Liste überführen

    • AnnaM
    • 26. Mai 2011 um 19:00

    Hallo Ihr Lieben,

    ich habe einmal wieder ein Problem :) Mal wieder etwas spezielles.

    Zur Vorgeschichte:
    Ich habe ein Kontexteintrag in Windows erstellt, dass bei jeder Datei den Kontexteintrag "Datei hinzu" anzeigt.
    Wenn man da drauf klickt, öffnet sich mein Programm und der Dateipfad wird ja per Kommandozeile übertragen.

    Diese kann ich ja schnell abfangen;

    [autoit]


    If $CmdLine[0] > 0 Then
    MsgBox(0,"ausgabe",$CmdLine[1])
    EndIf

    [/autoit]

    Soweit ja kein Problem :) Nun habe ich eine Liste in meiner GUI erstellt ("$mylist = GUICtrlCreateList").
    Diese soll nun meinen Dateinamen beinhalten. Auch kein Problem:

    [autoit]


    If $CmdLine[0] > 0 Then
    GUICtrlSetData($mylist, $CmdLine[1] &"|")
    EndIf

    [/autoit]

    Nun will ich aber eine zweite Datei per Kontextmenü einfügen!

    Probleme: Es öffnet sich ein zweites Fenster. Sprich 2x mein Programm. Unerwünscht!
    Lösung: Kann man mit _Sinlgeton verhindern.

    Leider weiß ich nun nicht, wie ich eine Datei im Hauptfenster eintragen und diese
    auch noch in der Liste eintragen kann. ;(

    [autoit]


    If _Singleton("Dateien",1) = 0 Then
    WinActivate("Form1")

    If $CmdLine[0] > 0 Then
    MsgBox(0,"ausgabe",$CmdLine[1])
    GUICtrlSetData($mylist, $CmdLine[1] &"|")
    EndIf

    Exit
    EndIf

    [/autoit]

    Setze ich diesen Code vor dem "GUISetState(@SW_SHOW)" wird zwar die Datei angezeigt, aber nicht im Hauptfenster hinzugefügt.
    Logisch, weil der ja gar nicht weißt, dass noch eine Liste im anderen Fenster existiert. Kann man die Liste global setzen oder gibt es eine andere Möglichkeit?

    Hoffe es ist soweit verständlich. Vielen Dank schon einmal im Voraus.

  • TaskScheduler / Aufgabenplaner mittels ObjCreate("Schedule.Service") ansteuern

    • AnnaM
    • 1. Mai 2011 um 21:40

    Ohman, ich habs ja voll überlesen.. peinlich.. da kann man ja echt was anhängen.. supi ^^ danke dir :*

  • TaskScheduler / Aufgabenplaner mittels ObjCreate("Schedule.Service") ansteuern

    • AnnaM
    • 1. Mai 2011 um 18:48

    hey,

    sorry, da hab ich mich wohl falsch ausgedrückt oder du hast'S falsch verstanden ^^

    beim TaskScheduler kann man doch einen Übergabeparameter eingeben. Wie kann ich das bei deinem Code machen?
    Bei dir kann ich ja nur das auszuführende Programm als String übergeben. Bei dem TaskScheduler heißt das "Argumente".

    das mit der CMD-Übergabe in AutoIt ist mir klar :D

    Hier noch ein Bild.. dann wirds klarer:

    [Blockierte Grafik: http://www.ewig-drohendes-versagen.de/wp-content/geheim_uploads/2009/12/aufgabenplaner.png]

    Siehe "Argumente hinzu"

    Danke

  • TaskScheduler / Aufgabenplaner mittels ObjCreate("Schedule.Service") ansteuern

    • AnnaM
    • 1. Mai 2011 um 12:30

    hey Veronesi,

    musste mich nun erstmal anmelden :) Dein Code ist der Hammer.. voll toll.. aber wie binde ich ein Argument mit ein? Also sprich: "programm.exe übergabewert"
    Es geht nicht, weil der das nicht in das richtige Feld mit einbindet. auch "programm.exe -übergabe" oder "programm.exe - übergabe" mag der auch nicht. oje.. was mach ich falsch? geht das überhaupt?
    danke für deine Hilfe.

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™