Der ganze Thread behandelt genau dieses Problem, nur das dort 2 Werte geändert werden sollen und hier nur einer!
Beiträge von bernd670
-
-
Hallo,
die Trägheit kann eingentlich nur durch dieses ständige _MemoryOpen und _MemoryClose kommen,
[autoit]
probiers mal so:#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <NomadMemory.au3>
#include <String.au3>
#NoTrayIconLocal $processList, $comboList, $i, $pid, $quitButton
[/autoit][autoit][/autoit][autoit]$varName = IniRead("Watch.ini", "Address", "Name", "NotFound")
[/autoit][autoit][/autoit][autoit]
$varGeld = IniRead("Watch.ini", "Address", "Geld", "NotFound")Opt("TrayAutoPause", 0)
[/autoit][autoit][/autoit][autoit]
Opt("TrayMenuMode", 1)$Gui = GUICreate("Watch", 200, 104)
[/autoit][autoit][/autoit][autoit]
$quitButton = GUICtrlCreateButton("Cancel", 148, 76, 50)
GUICtrlCreateLabel("Name: ", 5, 10)
GUICtrlCreateLabel("Geld: ", 5, 30)
GUICtrlCreateLabel("Prozess: ", 5, 60)
$text = GUICtrlCreateLabel("", 55, 60, 50)
$comboBox = GUICtrlCreateCombo("", 5, 80, 110, 200, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
$controlName = GUICtrlCreateLabel("abc", 45, 10, 200)
$controlGeld = GUICtrlCreateLabel("", 45, 30, 200)
GUISetState(@SW_SHOW)MsgBox(0, "", GUICtrlRead($controlName))
[/autoit][autoit][/autoit][autoit]$processList = ProcessList("...")
[/autoit][autoit][/autoit][autoit]For $i = 1 To $processList[0][0]
[/autoit][autoit][/autoit][autoit]
$comboList &= "|" & $processList[$i][1]
NextGUICtrlSetData($comboBox, $comboList)
[/autoit][autoit][/autoit][autoit]$pid = WinGetProcess("...")
[/autoit][autoit][/autoit][autoit]
GUICtrlSetData($text, $pid)
$info = _MemoryOpen($pid)While 1
[/autoit][autoit][/autoit][autoit]
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE, $quitButton
Exit
Case $comboBox
_MemoryClose($info)
$pid = GUICtrlRead($comboBox)
GUICtrlSetData($text, $pid)
$info = _MemoryOpen($pid)
EndSwitch;~ $info = _MemoryOpen($pid)
[/autoit][autoit][/autoit][autoit]
$varName_read = _MemoryRead("0x" & $varName, $info)
$varGeld_read = _MemoryRead_dword("0x" & $varGeld, $info)
$varGeld_format = _StringAddComma($varGeld_read)
;~ _MemoryClose($info)If GUICtrlRead($controlName) <> $varName_read Then GUICtrlSetData($controlName, $varName_read)
[/autoit][autoit][/autoit][autoit]
If GUICtrlRead($controlGeld) <> $varGeld_format Then GUICtrlSetData($controlGeld, $varGeld_format)Sleep(100)
[/autoit]
WEnd -
@WoW-Unit, keine gedanken weil die vorhandene Lösung vor wenigen Tagen erst erarbeite wurde bestimmte stelle aus txt auslesen, da sollte es ja kein Problem sein das Programm entsprechend zu ändern!
McPoldy, da das money (200 300) ja nur ein Beispiel war hätte die Änderung in Zeile 30 genügt!
-
Hallo,
Du musst dich schon entscheiden ob Du im MessageLoop-Modus oder im OnEvent-Modus arbeiten willst. Im moment Arbeit dein Programm im MessageLoop-Modus da kann der Cancel-Button nicht funktionieren weil er nicht abgefragt wird.
einfach die Zeile:
[autoit]Case $GUI_EVENT_CLOSE
[/autoit]ersetzen durch
[autoit]Case $GUI_EVENT_CLOSE, $quitButton
[/autoit]dann sollte der Cancel Button auch funktionieren. Die Zeilen mit GUISetOnEvent(.....) und die Funktion Close_Or_Quit_Clicked kannst Du dann löschen, die werden nur im OnEvent-Modus benötigt.
Was soll ein Sleep(5000) bringen?
-
Machst Du dir überhaupt ein paar gedanken bevor Du eine Frage postest? Du brauchst doch nur die Zeile 30 anzupassen!
-
Hallo,
mit der aktuellen Beta kann man es so machen!
Spoiler anzeigen
[autoit]; Läuft nur mit der aktuellen Beta
[/autoit] [autoit][/autoit] [autoit]#Include <Timers.au3>
[/autoit] [autoit][/autoit] [autoit]Run("notepad.exe")
[/autoit] [autoit][/autoit] [autoit]
WinWait("Unbenannt")$hGUI = GUICreate("", 400, 320) ; Windows-Handle für Timer erzeugen
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE)_Timer_SetTimer($hGUI, 2000, "Print1") ; Timer für Print1
[/autoit] [autoit][/autoit] [autoit]
_Timer_SetTimer($hGUI, 1750, "Print2") ; Timer für Print2
_Timer_SetTimer($hGUI, 250, "Print3") ; Timer für Print3while 1
[/autoit] [autoit][/autoit] [autoit]
sleep(10000) ; Auch 10 Sekunden schlaf stört die Timer nicht
WEndFunc Print1($hWnd, $Msg, $iIDTimer, $dwTime)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
ControlSend("Unbenannt", "", "Edit1", "1")
EndFuncFunc Print2($hWnd, $Msg, $iIDTimer, $dwTime)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
ControlSend("Unbenannt", "", "Edit1", "2")
EndFuncFunc Print3($hWnd, $Msg, $iIDTimer, $dwTime)
[/autoit]
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
ControlSend("Unbenannt", "", "Edit1", "3")
EndFunc -
Hallo,
das Programm XXCOPY hat unter seinen 200 möglichen Parametern auch folgende.
Zitat
/NI Becomes nice to other tasks by idling (1000 msec) between actions./NI<n> Same as /NI. Specifies n msec as the idle time (0 to disable it).
Vllt. geht es ja damit!
-
-
-
Ja funktioniert, wenn es kompiliert ist!
Nicht schlecht @progandy, mich hätte nur interessiert ob @maycontainnuts es auch hinbekommen hätte, es gehört ja etwas mehr dazu wie nur _WinAPI_AttachConsole aufzurufen.
-
Hallo,
jetzt würde mich mal interessieren wie Du mit _WinAPI_AttachConsole einen Text in einer DosBox ausgibst!?
-
Hallo,
es sollte eingentlich mit Run oder Shellexecute direkt möglich sein!
[autoit]
[/autoit][autoit]
Run(@ComSpec & " /c programm.exe", "", @SW_MINIMIZE)
[/autoit]
ShellExecute("programm.exe", "", "", "open", @SW_MINIMIZE) -
Hallo,
ich habe das Programm mal an die Version 3.2.11.1 angepasst!
Tan-Verwaltung
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <file.au3>
#include <array.au3>
#include <String.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#Include <GuiListBox.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit];~ Global Const $WM_COMMAND = 0x0111
[/autoit] [autoit][/autoit] [autoit]
;~ Global Const $WM_NOTIFY = 0x004E
;~ Global Const $NM_FIRST = 0
;~ Global Const $NM_LAST = (-99)
;~ Global Const $NM_CLICK = ($NM_FIRST - 2)
;~ Global Const $NM_DBLCLK = ($NM_FIRST - 3)
;~ Global Const $NM_RCLICK = ($NM_FIRST - 5)
;~ Global Const $NM_RDBLCLK = ($NM_FIRST - 6)Dim $listPath = 'trans_list.txt', $arTAN, $arErfass[1]
[/autoit] [autoit][/autoit] [autoit]
Dim $neu = 0, $Salmon = 0xFA8072, $PaleGreen = 0x98FB98; TAN-Erfassung GUI
[/autoit] [autoit][/autoit] [autoit]
$TanErfass = GUICreate("TAN - Liste erfassen", 257, 424, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "TanErfassClose")
$Label1 = GUICtrlCreateLabel("TAN - Listen - Nr.:", 16, 16, 89, 17)
$inListNr = GUICtrlCreateInput("", 109, 13, 121, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
$Group1 = GUICtrlCreateGroup(" TAN ", 16, 44, 217, 329)
$lstTAN = GUICtrlCreateList('0', 25, 59, 200, 305, BitOR($WS_VSCROLL, $WS_BORDER))
$mnu = GUICtrlCreateContextMenu($lstTAN)
$itemChange = GUICtrlCreateMenuItem('Ändern', $mnu)
GUICtrlSetOnEvent(-1, 'changeTAN')
$itemDelete = GUICtrlCreateMenuItem('Löschen', $mnu)
GUICtrlSetOnEvent(-1, 'deleteTAN')
GUICtrlCreateGroup("", -99, -99, 1, 1)
$bSave = GUICtrlCreateButton("Verschlüsseln && Speichern", 16, 390, 217, 22, 0)
GUICtrlSetOnEvent(-1, 'bSaveClick')
; /TAN-Erfassung GUI
; Main GUI
$Form1 = GUICreate("TAN - Verwaltung", 667, 363, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
$ListView1 = GUICtrlCreateListView("lfd. Nr.|TAN|Datum|Verwendungszweck", 16, 34, 636, 289, $LVS_NOSORTHEADER, _
BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
_GUICtrlListView_SetColumnWidth(-1, 0, 50)
_GUICtrlListView_SetColumnWidth(-1, 1, 190)
_GUICtrlListView_SetColumnWidth(-1, 2, 100)
_GUICtrlListView_SetColumnWidth(-1, 3, 290)
_GUICtrlListView_JustifyColumn(-1, 0, 1)
_GUICtrlListView_JustifyColumn(-1, 1, 2)
_GUICtrlListView_JustifyColumn(-1, 2, 2)
_GUICtrlListView_JustifyColumn(-1, 3, 0)
$Label1 = GUICtrlCreateLabel("TAN - Listen - Nr.:", 220, 9, 89, 17)
$ListenNr = GUICtrlCreateInput("", 316, 6, 129, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_READONLY))
$Label2 = GUICtrlCreateLabel("Anzahl freier TAN:", 16, 9, 90, 17)
$freeTAN = GUICtrlCreateInput("", 110, 6, 33, 21, BitOR($ES_RIGHT, $ES_AUTOHSCROLL, $ES_READONLY))
$bTANneu = GUICtrlCreateButton('TAN - Liste erfassen', 502, 6, 150, 21)
GUICtrlSetOnEvent(-1, "bTANneuClick")
$Label3 = GUICtrlCreateLabel("TAN auswählen mit Doppelklick - Dechiffrierung und Übergabe an Zwischenablage nach Paßwort-Abfrage", 16, 336, 636, 17, $SS_CENTER)
; /Main GUIIf _FileReadToArray($listPath, $arTAN) = 0 Then
[/autoit] [autoit][/autoit] [autoit]
If MsgBox(262180, 'FEHLER!', 'TAN - Liste konnte nicht geladen werden.' & @LF & 'Datei: ' & $listPath & ' nicht gefunden.' & @LF & _
'Wenn die TAN - Liste bereits angelegt wurde,' & @LF & _
'muß die Datei sich im selben Verzeichnis,' & @LF & _
'wie dieses Programm befinden.' & @LF & @LF & _
'Wollen Sie jetzt eine TAN - Liste erfassen?') = 6 Then
bTANneuClick()
$neu = 1
Else
Exit
EndIf
EndIfIf $neu = 0 Then
[/autoit] [autoit][/autoit] [autoit]
_ArrayDelete($arTAN, 0)
GUISetState(@SW_SHOW, $Form1)
_writeListView()
EndIf
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc AForm1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>AForm1CloseFunc TanErfassClose()
[/autoit] [autoit][/autoit] [autoit]
If (Not FileExists($listPath)) Then
MsgBox(0, 'FEHLER!', 'Es wurde noch keine TAN-Liste angelegt!' & @LF & 'Das Programm wird beendet.')
Exit
EndIf
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_HIDE, $TanErfass)
EndFunc ;==>TanErfassCloseFunc ListViewDoubleClick()
[/autoit] [autoit][/autoit] [autoit]
$idx = _GUICtrlListView_GetSelectedIndices($ListView1)If String(_GUICtrlListView_GetItemText($ListView1, int($idx), 2)) <> '0' Then
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, 'ACHTUNG!', 'Diese TAN wurde bereits verwendet.')
Return
EndIf
If MsgBox(262180, 'TAN abrufen', 'Wollen Sie die TAN mit der' & @LF & 'lfd. Nr.: ' & $idx + 1 & @LF & 'jetzt verwenden ?') = 7 Then Return
Local $arReplace[4] = [3, _GUICtrlListView_GetItemText($ListView1, int($idx), 1), @MDAY & '.' & @MON & '.' & @YEAR, _
InputBox('Verwendungszweck', 'Bitte geben Sie den Verwendungszweck ein')]
$arTAN[$idx + 2] = $arReplace
_writeFromArrayTAN()
ClipPut(_StringEncrypt(0, _GUICtrlListView_GetItemText($ListView1, int($idx), 1), _
InputBox('Paßwort Entschlüsselung', 'Bitte jetzt das Paßwort zur Entschlüsselung eingeben.', '', '•')))
MsgBox(0, 'Zwischenablage', 'Die TAN wurde in die Zwischenablage eingefügt.')
_GUICtrlListView_DeleteAllItems($ListView1)
_FileReadToArray($listPath, $arTAN)
_ArrayDelete($arTAN, 0)
_writeListView()
EndFunc ;==>ListViewDoubleClickFunc _writeFromArrayTAN()
[/autoit] [autoit][/autoit] [autoit]
Local $arTmp[UBound($arTAN)]
$arTmp[0] = $arTAN[0]
$arTmp[1] = $arTAN[1]
For $i = 2 To UBound($arTAN) - 1
$arTmp[$i] = _SubArrayGetEntry($arTAN, 1, $i) & ';' & _
_SubArrayGetEntry($arTAN, 2, $i) & ';' & _
_SubArrayGetEntry($arTAN, 3, $i)
Next
If FileExists($listPath) Then FileMove($listPath, $listPath & '.BAK')
_FileWriteFromArray($listPath, $arTmp)
EndFunc ;==>_writeFromArrayTANFunc bTANneuClick()
[/autoit] [autoit][/autoit] [autoit]
If FileExists($listPath) Then MsgBox(0, 'HINWEIS', 'Nach dem Erfassen einer neuen TAN - Liste' & @LF & _
'kann auf die bisherige Liste nicht mehr zugegriffen werden.' & @LF & _
'Sie wird unter dem Namen: ' & $listPath & '.BAK im Programmverzeichnis abgelegt.')
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $TanErfass)
SplashTextOn('TAN - Nummern eingeben', @LF & ' Um die Erfassung der TAN - Nummern zu aktivieren,' & @LF & _
' bitte einen Doppelklick in die Liste ausführen' & @LF & _
' Um das Eingabefenster zu schließen, bei leerem Eingabefeld OK klicken.' & @LF & _
' Per Rechtsklick auf einen markierten Eintrag kann dieser:' & @LF & _
' - geändert oder' & @LF & _
' - gelöscht werden.', 550, 150, -1, -1, 4)
Sleep(12000)
SplashOff()
EndFunc ;==>bTANneuClickFunc _writeListView()
[/autoit] [autoit][/autoit] [autoit]
Local $free = 0, $arLV[UBound($arTAN) - 2]
GUICtrlSetData($ListenNr, $arTAN[0])
For $i = 2 To UBound($arTAN) - 1
$arTAN[$i] = StringSplit($arTAN[$i], ';')
$arLV[$i - 2] = GUICtrlCreateListViewItem($i - 1 & '|' & _SubArrayGetEntry($arTAN, 1, $i) _
& '|' & _SubArrayGetEntry($arTAN, 2, $i) _
& '|' & _SubArrayGetEntry($arTAN, 3, $i), $ListView1)
If _SubArrayGetEntry($arTAN, 2, $i) = 0 Then
$free += 1
GUICtrlSetBkColor($arLV[$i - 2], $PaleGreen)
Else
GUICtrlSetBkColor($arLV[$i - 2], $Salmon)
EndIf
Next
GUICtrlSetData($freeTAN, $free)
EndFunc ;==>_writeListViewFunc List_DoubleClick()
[/autoit] [autoit][/autoit] [autoit]
$TAN = InputBox('TAN - Erfassung', 'Bitte hier die TAN eingeben')
If $TAN <> '' Then
_GUICtrlListBox_AddString($lstTAN, $TAN)
_GUICtrlListBox_ReplaceString($lstTAN, 0, String(_GUICtrlListBox_GetCount($lstTAN) - 1))
Else
Return
EndIf
List_DoubleClick()
EndFunc ;==>List_DoubleClickFunc changeTAN()
[/autoit] [autoit][/autoit] [autoit]
$idx = _GUICtrlListBox_GetCaretIndex($lstTAN)
$new = InputBox('TAN - Erfassung', 'Bitte korrigieren', _GUICtrlListBox_GetText($lstTAN, $idx))
If $new <> '' Then _GUICtrlListBox_ReplaceString($lstTAN, $idx, String($new))
EndFunc ;==>changeTANFunc deleteTAN()
[/autoit] [autoit][/autoit] [autoit]
$idx = _GUICtrlListBox_GetCaretIndex($lstTAN)
If MsgBox(262180, 'Löschen', 'Soll:' & @LF & _GUICtrlListBox_GetText($lstTAN, $idx) & @LF & 'wirklich gelöscht werden?') = 6 Then
_GUICtrlListBox_DeleteString($lstTAN, $idx)
_GUICtrlListBox_ReplaceString($lstTAN, 0, String(_GUICtrlListBox_GetCount($lstTAN) - 1))
EndIf
EndFunc ;==>deleteTANFunc bSaveClick()
[/autoit] [autoit][/autoit] [autoit]
$listNr = GUICtrlRead($inListNr)
If $listNr = '' Then
MsgBox(0, '', 'Listen-Nr. wurde nicht erfaßt!')
Return
EndIf
$anz = _GUICtrlListBox_GetCount($lstTAN)
If $anz < 2 Then
MsgBox(0, '', 'Keine TAN-Nr. erfaßt!')
Return
EndIf
ReDim $arErfass[$anz + 1]
$arErfass[0] = $listNr
$arErfass[1] = $anz
$KEY = InputBox('Paßwort Verschlüsselung', 'Bitte jetzt das Paßwort zur Verschlüsselung eingeben.', '', '•')
For $i = 1 To $anz - 1
$arErfass[$i + 1] = _StringEncrypt(1, _GUICtrlListBox_GetText($lstTAN, $i), $KEY) & ';0;'
Next
If FileExists($listPath) Then FileMove($listPath, $listPath & '.BAK', 1)
_FileWriteFromArray($listPath, $arErfass)
_GUICtrlListView_DeleteAllItems($ListView1)
_FileReadToArray($listPath, $arTAN)
_ArrayDelete($arTAN, 0)
TanErfassClose()
_writeListView()
EndFunc ;==>bSaveClickFunc _SubArrayGetEntry($ARRAY, $SubIdx, $iDim1, $iDim2 = -1)
[/autoit] [autoit][/autoit] [autoit]
If (Not IsArray($ARRAY)) Then
SetError(1)
Return 0
EndIf
If ($iDim1 < 0) Or ($iDim1 > UBound($ARRAY) - 1) Then
SetError(2)
Return 0
EndIf
Local $UbSecond = UBound($ARRAY, 2)
If @error Then
If $iDim2 <> -1 Then
SetError(3)
Return 0
EndIf
ElseIf ($iDim2 < -1) Or ($iDim2 > $UbSecond - 1) Then
SetError(2)
Return 0
EndIf
Local $sub
Switch $iDim2
Case - 1
$arSub = $ARRAY[$iDim1]
Case Else
$arSub = $ARRAY[$iDim1][$iDim2]
EndSwitch
If ($SubIdx < 0) Or ($SubIdx > UBound($arSub) - 1) Then
SetError(4)
Return 0
Else
Return $arSub[$SubIdx]
EndIf
EndFunc ;==>_SubArrayGetEntryFunc MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Local $nNotifyCode = BitShift($wParam, 16)
Local $nID = BitAND($wParam, 0xFFFF)
Local $hCtrl = $lParam
Local Const $LBN_ERRSPACE = (-2);
Local Const $LBN_SELCHANGE = 1;
Local Const $LBN_DBLCLK = 2;
Local Const $LBN_SELCANCEL = 3;
Local Const $LBN_SETFOCUS = 4;
Local Const $LBN_KILLFOCUS = 5;Switch $nID
[/autoit] [autoit][/autoit] [autoit]
Case $lstTAN
Switch $nNotifyCode
Case $LBN_ERRSPACE
;~ _DebugPrint("$LBN_ERRSPACE")
Case $LBN_SELCHANGE
;~ _DebugPrint("$LBN_SELCHANGE")
Case $LBN_SELCANCEL
;~ _DebugPrint("$LBN_SELCANCEL")
Case $LBN_SETFOCUS
;~ _DebugPrint("$LBN_SETFOCUS")
Case $LBN_KILLFOCUS
;~ _DebugPrint("$LBN_KILLFOCUS")
Case $LBN_DBLCLK
List_DoubleClick()
EndSwitch
EndSwitch
; Proceed the default Autoit3 internal message commands.
; You also can complete let the line out.
; !!! But only 'Return' (without any value) will not proceed
; the default Autoit3-message in the future !!!
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMANDFunc WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam)
[/autoit]
;#forceref $hWndGUI, $MsgID, $wParam
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code)
If @error Then Return
$event = DllStructGetData($tagNMHDR, 3)
Select
Case $wParam = $ListView1
Select
Case $event = $NM_CLICK
;~ ListView_Click ()
Case $event = $NM_DBLCLK
ListViewDoubleClick()
Case $event = $NM_RCLICK
;~ ListView_RightClick ()
Case $event = $NM_RDBLCLK
;~ ListView_RightDblClick ()
EndSelect
EndSelect
$tagNMHDR = 0
$event = 0
$lParam = 0
EndFunc ;==>WM_Notify_Events -
Hallo,
ich kenne die Simantic-Software nicht, aber vllt. kann Du sie über Computerrichtline->Windows-Einstellungen->Scripts->Starten (wenn die Software lokal gestartet werden kann) oder über Benutzerrichtlinie->Windows->Einstellungen->Scripts->Anmelden (wenn Netzzugriff für die Software benötigt wird) starten. Dann kann der User erst arbeiten wenn das Programm gestartet ist.
-
Hallo,
es geht auch ohne Registry und Datei.
[autoit]Const $cnAnzahlNeustarts = 5
[/autoit][autoit][/autoit][autoit]If $CmdLine[0] = 0 Then
[/autoit]
MsgBox(0, "", "1. Start")
Run(@ScriptFullPath & " 1", @ScriptDir, @SW_HIDE)
Else
if $CmdLine[1] <= $cnAnzahlNeustarts Then
MsgBox(0, "", $CmdLine[1] & ". neustart")
Run(@ScriptFullPath & " " & $CmdLine[1] + 1, @ScriptDir, @SW_HIDE)
EndIf
EndIf -
Hallo,
mit Navigate kann das so nicht funktionieren, für Navigate muss die Zeile in etwa so aussehen:
Codehttps://www.paypal.de/de/cgi-bin/webscr"?cmd=_xclick&business=muster@gmx.de&item_name=Programmname&....Vllt geht aber auch so:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <IE.au3>
#include <WindowsConstants.au3>$oIE = _IECreateEmbedded ()
[/autoit][autoit][/autoit][autoit]GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
[/autoit][autoit][/autoit][autoit]
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
$GUI_Button_Back = GUICtrlCreateButton("Zurück", 10, 420, 100, 30)
$GUI_Button_Forward = GUICtrlCreateButton("Vor", 120, 420, 100, 30)
$GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
$GUI_Button_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)
GUISetState()
$oIE.navigate("http://autoit.aufwaerts.de/portal.php")
While 1
$msg = GUIGetMsg()Select
[/autoit][autoit][/autoit][autoit]
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_Button_Home
_IEDocWriteHTML($oIE,'<form action="https://www.paypal.de/de/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="muster@gmx.de"><input type="hidden" name="item_name" value="Programmname"><input type="hidden" name="item_number" value="Bestellnummer"><input type="hidden" name="amount" value="0.50"><input type="hidden" name="return" value="www.muster.de"><input type="hidden" name="cancel_return" value="www.muster.de"><input type="image" src="https://www.paypal.com/images/x-click-but23.gif" border="0" name="submit" alt="paypalzahlung"><input type="hidden" name="no_shipping§§38"Shell.Explorer.2"39§§hidden" name="currency_code" value="EUR"><input type="hidden" name="undefined_quantity" value="0"><input type="hidden" name="cn" value=""><input type="hidden" name="cs" value="0"></form>')
_IEAction ($oIE, "refresh")
Case $msg = $GUI_Button_Back
$oIE.GoBack
Case $msg = $GUI_Button_Forward
$oIE.GoForward
Case $msg = $GUI_Button_Stop
$oIE.Stop
EndSelectWEnd
[/autoit][autoit][/autoit][autoit]GUIDelete()
[/autoit][autoit][/autoit][autoit]Exit
[/autoit][autoit][/autoit][autoit][/autoit] -
Hallo,
einer der besten Freeware Icon-Editoren die ich kenne ist IcoFX.
-
Hallo,
zum erzeugen von GUID's kann man folgende Funktion verwenden.
[autoit]#Include <WinAPI.au3>
[/autoit][autoit][/autoit][autoit]MsgBox(0, "", _WinAPI_CreateGUID())
[/autoit][autoit][/autoit][autoit];===============================================================================
[/autoit][autoit][/autoit][autoit]
; Name: _WinAPI_CreateGUID
; Description: Erzeugt eine neue GUID
; Parameter(s): keine
; Requirement(s): _WinAPI_StringFromGUID aus WinAPI.au3
; Return Value(s): GUID als String
; Author(s): bernd670
;===============================================================================
Func _WinAPI_CreateGUID()
Local $tGUID, $aResult$tGUID = DllStructCreate($tagGUID)
[/autoit][autoit][/autoit][autoit]
$aResult = DllCall("OLE32.DLL", "long", "CoCreateGuid", "ptr", DllStructGetPtr($tGUID))Return SetError($aResult[0] <> 0, 0, _WinAPI_StringFromGUID(DllStructGetPtr($tGUID)))
[/autoit]
EndFunc -
Hallo,
was mir in letzter Zeit immer wieder auffällt ist das die Include-Zeilen im Quellcode nicht korrekt angezeigt werden. Damit die Include-Zeilen richtig eingetragen werden muss der Editor in den Quellcode-Modus geschalten werden bevor der Quellcode eingefügt wird.
Ansonsten wird die spitze Klammer als HTML-Tag interpretiert und wird nicht korrekt angezeigt!
-
Hi,
...
Includes
#include <Constants.au3>
#include <GUIConstants.au3>So long,
Mega</GUIConstants.au3></Constants.au3>
Hi Mega,
wenn Du den Editor in den Quellcodemodus schaltest bevor Du einen Quellcode einfügst werden auch die Includes richtig eingefügt! Ansonsten werden die spitzen Klammern anscheinend als HTML-Tags angesehen!