Dann stell doch mal ein Stück Code rein, das man auch ausprobieren kann. Also GUI mit TreeView und Itemverwaltung. Hab keine Lust das selbst nachzubauen. ![]()
Beiträge von BugFix
-
-
Wirf doch mal 'nen Blick in die Hilfe.

-
Ach, hatte ich jetzt nicht dran gedacht, da ich es kaum anwende: GUICtrlCreateTreeViewItem gibt die ID des Item zurück. Wenn du also damit deine Item erstellst, kannst du die ID's in einem Array auffangen und somit auch die Font und Colorfunktionen nutzen.
-
Bekommst du ja:
als Rückgabe von
- _GUICtrlTreeView_Add oder _GUICtrlTreeView_AddChild
- _GUICtrlTreeView_FindItem
- _GUICtrlTreeView_GetSelection

Aber falls du GUICtrlSetFont, ...SetBkCol nutzen möchtest: Diese sind, wie schon gesagt NICHT für die Item zuständig, sondern nur für das Control (das TreeView).
-
Schau dir mal die Funktionen der ScreenCapture.au3 an. Da findest du alles, genau so wie du es brauchst.
-
Du kannst die Handle zu den Item beim Erstellen in einem Array speichern oder danach suchen mit _GUICtrlTreeView_FindItem, bzw. das markierte ausgeben lassen mit _GUICtrlTreeView_GetSelected.
Du siehst - viele Möglichkeiten.
-
Ist ja OK. Und die Label flackern, weil du sie pausenlos neu schreibst!
[autoit]
Prüf vorher ab, z.B.If GUICtrlRead($label) <> GUICtrlRead($Input) Then GUICtrlSetData($label, GUICtrlRead($Input))
[/autoit] -
Du liest in der Schleife ständig die Daten aus Input1 und schreibst sie ins Label. Mach das nur, wenn auch ein anderer Wert im Input drinsteht, als in deinem Label.
-
Eine Virtuelle Tastatur hat glaub ich, noch keiner hier im Forum erstellt.
Zumindest hab ich noch keine gesehen.
War vielleicht vor deiner Zeit
Tastatur für Bildschirm -
BugFix : das hab ich schon probiert, leider kann ich dann nicht in ein anderes Prog wechseln.
Selbstverständlich geht das. Du mußt nur zusätzlich das Fensterhandle prüfen und den Hook auf dein Fenster begrenzen. -
Soweit ich weiß, beziehen sich die von dir verwendeten Befehle ausschließlich auf das Ctrl - also das TreeView und nicht auf einezelne Item. Dazu mußt du wohl die UDF verwenden.
-
Kleine Anmerkung:
DIE Quersumme als solche gibt es nicht. Es gibt einige Varianten davon.
Sehr häufig genutzt wird die Reduzierung auf 1 Stelle (Iterierte Quersumme):
Zahl: 123456
1+2+3+4+5+6 = 21
2+1 = 3
Eignet sich sehr gut für Prüfverfahren, z.B. Hash Funktionen. -
-
-
Greenhorn wo wird $IDC_EDIT definiert?
Kenn ich auch nicht. Scheint mir auch von der Namensgebung falsch zu sein, da der Präfix IDC_ zur Kennzeichnung von Cursor-Ressourcen oder Steuerelementen einer Dialogbox verwendet wird. -
Hi,
melde mich mal schnell vom Handy.
Mußte noch zu einer Feier. Bin aber zu 18 Uhr bereit.
Bis nachher. -
Sicherheitsrelevant ist das Ganze nicht. Die Anmeldung läuft bereits automatisch (User ist Admin, Logon-Eintrag in Registry voreingestellt). Aber es dauert halt doch etwas bis das Anmeldefenster erscheint, die (automatische) Anmeldung erfolgt und dann ein unter RunOnce registriertes Restart-Skript neu durchstartet. Im Normalfall würde ich auf den Maschinen gar keine Benutzer installieren, wenn mir Windows das erlauben würde.

Der User soll ja auch nicht unbedingt bewußt wahrnehmen, dass der PC nochmal durchstartet. Ist ja nur eine Hilfslösung, da das tatsächliche Problem nicht behebbar ist.
Und ich denke mal, die Batch-Lösung sollte da am schnellsten sein, da ich mir das Starten von Windows einspare.
Ich werde euch berichten, wenn ich eine endgültige, funktionierende Lösung habe. -
Danke erstmal für die Tipps. Ich werde mal probieren, mein Reboot-Skript als Dienst zu installieren und es bei Shutdown über den Schlüssel ..\RunServicesOnce zu aktivieren.
chip:
Habe deinen Beitrag erst später gesehen. Das wird vermutlich noch günstiger sein, da es vor dem Windows-Gedöns abläuft.
Habe unendlich lange nicht mehr mit Batch gearbeitet. Könnte das folgende funktionieren? Kommt der Löschvorgang überhaupt zur Wirkung, wenn vorher der Reboot angeschoben wird?Code
Alles anzeigenREM Kopie der BAT unter anderem Namen im selben Pfad erstellen. REM Wird bei Shutdown wieder umbenannt. xcopy "%cd%\reonce.bat" "%cd%\reonce.ba_" REM Reboot shutdown /r /f REM Löschen über Bande - kommt das noch zur Ausführung ?? echo del "%~dpnx0" ^>nul>%temp%\CleanUp.bat %temp%\CleanUp.bat -
Kleines Bsp.:
Spoiler anzeigen
[autoit]#include<GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
Local $gui1, $gui2, $btn1, $btn2, $msg$gui1 = GUICreate('GUI 1')
[/autoit] [autoit][/autoit] [autoit]
$btn1 = GUICtrlCreateButton('Zeige GUI 2', 10, 20, 100, 20)$gui2 = GUICreate('GUI 2')
[/autoit] [autoit][/autoit] [autoit]
$btn2 = GUICtrlCreateButton('Button 2', 10, 20, 100, 20)GUISetState(@SW_SHOW, $gui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg(1)
Switch $msg[1] ; Window Handle
Case $gui1
Switch $msg[0] ; Event
Case $GUI_EVENT_CLOSE
ExitLoop
Case $btn1
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_SHOW, $gui2)
EndSwitch
Case $gui2
Switch $msg[0]
Case $GUI_EVENT_CLOSE
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
Case $btn2
MsgBox(0, '', 'Button 2 geklickt')
EndSwitch
EndSwitch
WEnd
GUIDelete($gui1)
GUIDelete($gui2) -
LUA zu skripten ist nicht so schwierig. Eine Referenz dazu findest du in der SciTE-Hilfe (in SciTE STRG+F1, Kapitel LUA).