Großes Fragezeichen !
Verstehe nicht so den Sinn. Brauchst du einen Key-Generator oder willst du den Standard wissen, nachdem die Schlüssel erstellt werden?
Beiträge von BugFix
-
-
Eines noch, es ist übersichtlicher, wenn du das in eine Funktion auslagerst.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]Global $stat = 0
[/autoit] [autoit][/autoit] [autoit]
$gui1 = GUICreate('GUI 1')
$btn1 = GUICtrlCreateButton('Starte Help', 10, 20, 100, 20)
GUICtrlSetBkColor($btn1, 0x00FF00)GUISetState(@SW_SHOW, $gui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
$pid = ProcessExists('AutoIt3Help.exe')
If $stat <> $pid Then $stat = _ToggleBtnCol($btn1, $pid)
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $btn1
If $stat Then
ProcessClose($stat)
Else
ShellExecute(StringReplace(@AutoItExe, 'autoit3.exe', 'AutoIt3Help.exe'))
EndIf
EndSwitch
WEndFunc _ToggleBtnCol($ID, $PID)
[/autoit]
If $PID Then
GUICtrlSetBkColor($ID, 0xFA8072)
ControlSetText($gui1, '', $ID, 'Beende Help')
Else
GUICtrlSetBkColor($ID, 0x00FF00)
ControlSetText($gui1, '', $ID, 'Starte Help')
EndIf
Return $PID
EndFunc -
Hier mal ein allg. Bsp.
[autoit]#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]Global $stat = False
[/autoit][autoit][/autoit][autoit]
$gui1 = GUICreate('GUI 1')
$btn1 = GUICtrlCreateButton('Starte Help', 10, 20, 100, 20)
GUICtrlSetBkColor($btn1, 0x00FF00)GUISetState(@SW_SHOW, $gui1)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit]
$msg = GUIGetMsg()
If $stat Then
If Not ProcessExists('AutoIt3Help.exe') Then
GUICtrlSetBkColor($btn1, 0x00FF00)
$stat = False
EndIf
Else
If ProcessExists('AutoIt3Help.exe') Then
GUICtrlSetBkColor($btn1, 0xFA8072)
$stat = True
EndIf
EndIf
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $btn1
ShellExecute(StringReplace(@AutoItExe, 'autoit3.exe', 'AutoIt3Help.exe'))
EndSwitch
WEnd -
Zum Einen setzt du die Textfarbe (du willst doch aber sicher den Button selbst färben -> GUICtrlSetBkColor), zum Anderen setzt du die Farbe ständig (solange der Prozess existiert). Besser, eine Variable, die den Status aufnimmt, und nur wenn der Status sich ändert, wird auch die Farbe geändert.
-
Und woher weißt du meinen Namen?
Tja, Hendrik Nork...., man sollte auch in ICQ nicht seinen RealName angeben.

-
Lange Rede - kurzer Sinn: Dann mußt du halt den notwendigen Aufwand in Kauf nehmen. Punkt.
-
Ich bevorzuge:
- Ressourcen mit FileInstall in das Skript binden
- bei Programmstart auf Existenz der Ressourcendateien prüfen
- wenn nicht vorhanden ==> installieren
ferddisch
-
Wie kann ich denn die Resurcen aus einer DLL abrufen? Also ich meine geht das auch mit einer Ganz normalen Gui, bei BugFix ist das so komplizirt!
Man kann nicht alles haben...

Ich verstehe sowieso nicht, warum plötzlich jeder seine Ressourcen in einer dll verbarrikadieren will.
Aber wer das Eine will, muß das Andere mögen - sprich: es ist (teilweise) ein gewisser Aufwand notwendig, um die Ressourcen wieder verfügbar zu machen.
-
Ich hab mal geschaut - ist jetzt nicht mehr drin.

Übrigens, hier mal ein Link, da könnt ihr sehen, was sich dadurch alles verändern läßt.
http://wiki.deskmodder.de/wiki/index.php/Reshacker -

Dann ist das aber ein sehr günstiges Gewicht/Preis-Verhältnis!
-
Ich hab mal eine UDF erstellt _GetIntersection(), damit kannst du aus Auflistungen/Arrays Übereinstimmungen und Differenzen herausfiltern. Das ließe sich hierfür sicher gut verwenden.
-
Und wie bekomme ich da was in die DLL? Könnt ihr mir mal einen Namen von einem Guten ResHack geben
Der Reshacker ==> wird dir mit SciTE4AutoIt mitinstalliert. Schau mal ins Installationsverzeichnis. 
Ordner: ..\Programme\AutoIt3\SciTE\AutoIt3Wrapper -
Probier mal so:
[autoit]If Not ControlSetText("SnagIt 9.0.2 Installation", "", 1362, "text") Then MsgBox(0, '', 'Ctrl nicht gefunden.')
[/autoit]
Dann hast du gleich eine Fehlerauswertung.
Vielleicht hilft es die CLASS des Ctrl zu verwenden, statt der ID. Einfach mal alles testen. -
Da die Fragen dazu häufig sind, hatte ich mal ein Muster erstellt:
Spoiler anzeigen
[autoit]; Muster Checkbox-Bearbeitung
[/autoit] [autoit][/autoit] [autoit]
; Ziel: einfache Abfrage, welche CB aktiviert sind#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt('GUIOnEventMode', 1)
Opt("MustDeclareVars", 1)
Global $bCheckAll, $bUnCheckAll, $GUI, $i, $str
Global $arCB[20][2] ; Array für Handle und Dual-Wert der CB
For $i = 0 To UBound($arCB) -1
$arCB[$i][1] = 2^$i ; Zuweisung eindeutiger Wert
Next
Global $Checked = 0 ; Variable nimmt Status ALLER Checkboxen in einem Wert auf,
; Startstatus für alle: UNCHECKED
Global $w = 500, $h = 20*30+40, $l = (@DesktopWidth-$w)/2, $t = (@DesktopHeight-$h)/2
Global $top = -10
$GUI = GUICreate('Test Checkbox', $w, $h, $l, $t)
GUISetOnEvent($GUI_EVENT_CLOSE, '_Ende')
For $i = 0 To UBound($arCB) -1
$top += 30
$arCB[$i][0] = GUICtrlCreateCheckbox('CheckBox_' & $i+1, 40, $top, 120)
GUICtrlSetOnEvent(-1, '_ClickCB')
Next
$bCheckAll = GUICtrlCreateButton('Alle markieren', 250, 20, 150, 21)
GUICtrlSetOnEvent(-1, '_CheckAll')
$bUnCheckAll = GUICtrlCreateButton('Markierung aufheben', 250, 50, 150, 21)
GUICtrlSetOnEvent(-1, '_UnCheckAll')
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _Ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _ClickCB()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($arCB) -1
If $arCB[$i][0] = @GUI_CtrlId Then
$Checked = BitXOR($Checked, $arCB[$i][1])
ExitLoop
EndIf
Next
_ReadCB()
EndFuncFunc _CheckAll()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($arCB) -1
If Not BitAND($Checked, $arCB[$i][1]) Then
GUICtrlSetState($arCB[$i][0], $GUI_CHECKED)
$Checked = BitXOR($Checked, $arCB[$i][1])
EndIf
Next
_ReadCB()
EndFuncFunc _UnCheckAll()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($arCB) -1
If BitAND($Checked, $arCB[$i][1]) Then
GUICtrlSetState($arCB[$i][0], $GUI_UNCHECKED)
$Checked = BitXOR($Checked, $arCB[$i][1])
EndIf
Next
_ReadCB()
EndFuncFunc _ReadCB() ; Fkt. dient nur zur Ausgabe, welche CB markiert sind
[/autoit]
Local $str = 'Markiert: '
For $i = 0 To UBound($arCB) -1
If BitAND($Checked, $arCB[$i][1]) Then $str &= $i+1 & ', '
Next
WinSetTitle($GUI, '', StringTrimRight($str, 2))
EndFunc -
Das hat mehrsolala doch schon (fast) beantwortet.
[autoit]
WinActivate("VENTURIS Setup", "InstallShield Wizard hat die Wartungsoperationen")
[/autoit]
WinWait("VENTURIS Setup", "InstallShield Wizard hat die Wartungsoperationen")ist 'suboptimal'
[autoit]
besser:WinActivate("VENTURIS Setup", "InstallShield Wizard hat die Wartungsoperationen")
[/autoit]
WinWaitActive("VENTURIS Setup", "InstallShield Wizard hat die Wartungsoperationen") -
Die Fenster werden doch nicht zeitgleich erscheinen? - Oder?
Also kannst du doch auf das Erscheinen des Fensters mit dem Title: "XX Programm 2009" (oder Class: #32770) warten und dann auf das folgende, etc. Wo ist das Problem? -
Wo gibts denn nen String2QR-Converter?
Der Javacode kann ja nur erkennen...
Na das ist doch mal eine Aufgabe.
Einzelheiten zum QR-Standard findest du hier.Der Reader von Kaywa liest übrigens nicht nur QR- sondern auch Data-Matrix-Code (kennt ihr sicher von von der Post).
-
Mit den UDF für AutoIt-Ctrl wirst du da nicht weiterkommen.
Probier es mal mit ControlCommand. -
Da war doch mal was...
ListView - Editieren aller SubItems -
Einfach mal Variablen verwenden....?
Nicht umsonst heißen diese auch Container.