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.
Beiträge von AnnaM
-
-
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,
-
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]
[/autoit] [autoit][/autoit] [autoit][/autoit] [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>Global $aGlobalArray, $hWnd_AutoIt, $iGlobalShowArray = 0, $sUniqueID = "load" ; Declare Variables.
[/autoit] [autoit][/autoit] [autoit]If Not _Singleton($sUniqueID, 1) Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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 ###If $CmdLine[0] > 0 Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($mylist, $CmdLine[1]&"|")
EndIfMsgBox(0,"","unten")
[/autoit] [autoit][/autoit] [autoit]; Jetzt bereit zum Daten empfangen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_COPYDATA, "WM_COPYDATA")
AutoItWinSetTitle("-"&$sUniqueID&"-")
ControlSetText("-"&$sUniqueID&"-", "", "ListBox1", $g) ; was soll das $g sein? Ist das nicht der neue Text?
AutoItWinSetTitle($sUniqueID)
; Ende handle veröffentlichenWhile True
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg($Form)
Select
Case $msg = $GUI_EVENT_CLOSE
_close()
EndSelect
WEndFunc WM_COPYDATA_SENDDATA($hHandle, $sString)
[/autoit] [autoit][/autoit] [autoit]
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_SENDDATAFunc WM_COPYDATA($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
#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); Daten setzen
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($mylist, $sString)EndFunc ;==>WM_COPYDATA
[/autoit] [autoit][/autoit] [autoit][/autoit]
-
Ja, danke
Hab ich gemerktAber ich bin wohl zu blöd um es bei mir einzubauen.
Das ist mein Code bis jetzt:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [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>If _Singleton("load",1) = 0 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]MsgBox(0,"","Mehrfach-Aufruf")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Exit
EndIf#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form = GUICreate("load", 458, 360, -1, -1)$myList = GUICtrlCreateList("", 8, 8, 249, 266, BitOR($GUI_SS_DEFAULT_LIST,$LBS_NOSEL,$WS_HSCROLL))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###If $CmdLine[0] > 0 Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($mylist, $CmdLine[1]&"|")
EndIfWhile True
[/autoit]
$msg = GUIGetMsg($Form)
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEndAlso, 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
-
Ich habe schon viele Beiträge von dir mir angesehen:
[ offen ] _WinAPI_PostMessage + stringAber 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. -
Ich würde es gerne mit StdinWrite & StdinWrite machen.
Aber es klappt ja mal gar nicht. Keine Ahnung wie man das macht. -
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. -
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]
[/autoit]
If $CmdLine[0] > 0 Then
MsgBox(0,"ausgabe",$CmdLine[1])
EndIfSoweit ja kein Problem
[autoit]
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] &"|")
EndIfNun 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
[autoit]
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
EndIfSetze 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.
-
-
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

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