Es gibt viele hier, die Dir helfen würden. Das ist gar kein Thema.
Du solltest aber auch mal Dein bisheriges Script posten. Dann kann man Dir zeigen, wie es geht bzw. was man besser machen kann.
Beiträge von Oscar
-
-
[verschoben nach H&U]
-
Ich möchte mir gern ein Auto bauen, kann mir mal einer sagen, wo ich das Schweißgerät einschalten kann?

Mal im Ernst: Wie wäre es, wenn Du erstmal ein paar Grundlagen lernst?
-
Es geht aber darum, dass Du kein lauffähiges Beispiel zur Verfügung stellst. Sollen wir jetzt erstmal ein Beispielscript erstellen?
Außerdem wissen wir gar nicht, was Du eigentlich willst.Du schreibst, dass Du den Text des Label haben willst, auf das Du klickst. Wozu dann ein ContextMenü?
Label können direkt ein Event auslösen.
GuiCtrlSetOnEvent(-1, "LabelKlick") jedem Label zuweisen und in der Funktion "LabelKlick" dann mit GuiCtrlRead(@GUI_CtrlID) den Text des Labels auslesen. -
Man kann nicht den OnEventMode und den MsgLoopMode gleichzeitig benutzen!
Es geht zwar wechselweise, aber nicht gleichzeitig!
Außerdem erstellst Du für jedes Label ein ContextMenu, benutzt dafür aber immer die gleiche Variable. Wenn Du wirklich für jedes Label ein eigenes ContextMenu brauchst, dann musst Du auch dafür ein Array verwenden.
Du kannst natürlich auch nur ein ContextMenu für die ganze Gui erstellen, und benutzt dann in der EventFunktion @GUI_CtrlID für die Auswahl.
Aber woher sollen wir wissen, was Du vorhast?
-
Zeig doch mal Dein Script. Vielleicht kann man ja noch etwas optimieren.

-
Hmm...Fehlernr. 2 gibt es laut der Hilfe-Datei gar nicht.

-
Versuchs doch mal mit der WinApi-Funktion:
AutoIt#include <WinAPIShellEx.au3> $sQuelle = "D:\test\" $sZiel = "D:\test1\" ConsoleWrite('Ziel existiert: ' & FileExists($sZiel) & @CR) _WinAPI_ShellFileOperation($sQuelle, $sZiel, $FO_RENAME, BitOR($FOF_ALLOWUNDO, $FOF_NO_UI)) If @error Then ConsoleWrite('Fehlernr.: ' & @extended & @CR) ConsoleWrite('Ziel existiert: ' & FileExists($sZiel) & @CR) -
Ja! Ein Array benutzen.
-
Sieh Dir mal das Ergebnis von ProcessList an. Im Element [0][0] steht normalerweise die Anzahl der Array-Elemente.
Wenn Du das Array sortierst, dann passiert es u.U. das da ein anderer Wert steht. Im weiteren Verlauf benutzt Du diesen Wert für das dimensionieren des neuen Arrays und für Deine For-Schleife.
Die einfachste Abhilfe wäre, nicht die Processlist zu sortieren, sondern nach der For-Schleife das $exe-Array. -
-
Bei mir funktioniert das umbenennen als 32 Bit und auch als 64 Bit.
Und das Win-Update KB3080446 ist bei mir installiert. -
Hmm...das kann ich nicht bestätigen. Bei mir funktioniert das umbenennen mit dem Script.
Aber versuch mal den abschließenden Backslash wegzulassen. In der Hilfe steht: "Path of the ... directory (with no trailing backslash)."
-
Das umrechnen kann man ja auch mit AutoIt machen:
AutoIt#include <Date.au3> $iTimer = TimerInit() $iTimestamp = 130886109585119932 $iSeconds = Int($iTimestamp * 1e-7) ; 100 ns in Sekunden $sNewDate = _DateAdd('s', $iSeconds, '1601/01/01 00:00:00') ConsoleWrite(TimerDiff($iTimer) & ' ' & $sNewDate & @CR)Das braucht auf meinem Rechner nur ca. 0.3 ms für die Umrechnung.
-
Es stimmt zwar, das ich beim Starplayer die Übergabe von weiteren Songs/Playlisten an die 1. Instanz per ControlCommand (an ein Edit-Control) gemacht habe, aber heute würde ich wohl eher NamedPipes benutzen.
Im Thread "https://autoit.de/index.php/Thread/38317-Interprozesskommunikation/?postID=319112#post319112" hat m-obi ein funktionierendes Beispiel-Script gepostet. Statt der Schleife mit der InputBox benutzt man dann einfach das Array $CmdLine zum senden.
-
Um den Date-Control ein Datum/Zeit zuzuweisen gibt es "_GUICtrlDTP_SetSystemTime".
Es würde auch mit GuiCtrlSetData funktionieren, aber das geht erstens nur mit der Control-ID (nicht dem Handle) und zweitens musst Du das komplette Datum übergeben:AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include <GuiDateTimePicker.au3> Example() Func Example() Local $hDTP ; Create GUI GUICreate("DateTimePick Set Format", 400, 300) $idDTP = GUICtrlCreateDate("", 2, 6, 190) $hDTP = GUICtrlGetHandle($idDTP) GUISetState(@SW_SHOW) ; Set the display format _GUICtrlDTP_SetFormat($hDTP, "HH:mm") GUICtrlSetData($idDTP, "2015\08\10 08:00:00") ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example -
Hier mal eine Version von mir:
AutoIt
Alles anzeigen#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $ret = _MsgBoxEx('Titel', 'Script fortsetzen?', -1, 30, 300, 100) If $ret = 0 Then Exit MsgBox(0, 'Test', 'Script fortsetzen...') Func _MsgBoxEx($sTitle = 'MsgBox', $sText = '', $iLeft = -1, $iTop = -1, $iWidth = 320, $iHeight = 240, $hParent = 0) Local $iOldGuiMode = Opt('GUIOnEventMode', 0) Local $hGui = GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, BitOR($WS_CAPTION, $WS_POPUPWINDOW), Default, $hParent) GUISetIcon('shell32.dll', 211, $hGui) GUISetFont(10, 400, 0, 'Arial', $hGui, 5) GUICtrlCreateLabel('', 0, 0, $iWidth, $iHeight - 40) GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlCreateLabel($sText, 10, 20, $iWidth - 20, $iHeight - 80) GUICtrlSetFont(-1, 12, 400, 0, 'Arial', 5) GUICtrlSetBkColor(-1, 0xFFFFFF) Local $idYes = GUICtrlCreateButton('Ja', $iWidth - 140, $iHeight - 30, 60, 25, $BS_DEFPUSHBUTTON) Local $idNo = GUICtrlCreateButton('Nein', $iWidth - 70, $iHeight - 30, 60, 25) If Not $hParent Then TraySetState(2) GUISetState(@SW_SHOW, $hGui) Local $iReturn = 0 While True Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idNo $iReturn = 0 ExitLoop Case $idYes $iReturn = 1 ExitLoop EndSwitch WEnd GUIDelete($hGui) Opt('GUIOnEventMode', $iOldGuiMode) Return $iReturn EndFunc ;==>_MsgBoxEx -
-
Äh...zum Bahnhof geht's da lang -->

Du möchtest das Ganze bitte so beschreiben, dass man Dir auch helfen kann.
-
Ich habe oben noch einen Nachtrag hinzugefügt.