1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Greenhorn

Beiträge von Greenhorn

  • File Download beschtimmter datein

    • Greenhorn
    • 19. Mai 2008 um 15:20

    Du kannst WGet dafür benutzen ...

    WGet.exe
    Benötigte Dlls
    WGet Hilfe

    [autoit]

    $pidWGet = Run('wget.exe -v -t inf -c -A.pk2 -P"' & $szDestDir & '" "' & $szUrl & '"', $szDestDir, @SW_HIDE, 4)

    [/autoit]

    Der Parameter '-A.pk2' gibt an, dass alle *.pk2 Dateien von der angegebenen Url heruntergeladen werden ... ;)

    Einfach mal die WGet Hilfe durchlesen, da findest Du alles nötige ...


    Gruß
    Greenhorn

  • Script mit Tastenenkombination Text Erstellen?

    • Greenhorn
    • 18. Mai 2008 um 15:22

    Du musst aber nicht NOTEPAD benutzen um in eine Datei zu schreiben ...

    Spoiler anzeigen
    [autoit]

    Global $date = @MDAY & @MON & @YEAR & '-' & @HOUR & @MIN & @SEC
    Global $hFile = FileOpen(@DesktopDir & '\' & $date & '.log', 2)

    [/autoit] [autoit][/autoit] [autoit]

    ; Hotkey zum Scriptstart.
    ; wird nicht das tun was Du versuchen möchtest ...
    ;~ HotKeySet('{F10}', 'StartScript')
    ; Tip: Verknüpfung erstellen - Desktop oder sonstwo - und
    ; in den Eigenschaften Tastenkombination F10 setzen.

    [/autoit] [autoit][/autoit] [autoit]

    ; Hotkey zum Beenden des Script's.
    HotKeySet('{F11}', 'Terminate')

    [/autoit] [autoit][/autoit] [autoit]

    ; Hotkey zum Textschreiben.
    HotKeySet('^1', 'WriteText')

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    Sleep(250)

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func WriteText()

    ; Text aus Zwischenablage schreiben
    FileWrite($hFile, ClipGet())

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    FileClose($hFile)
    Exit

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Gruß
    Greenhorn

  • Pic als GUICreate

    • Greenhorn
    • 17. Mai 2008 um 19:47

    Ich dachte Du wolltest ein Image als GUI, also praktisch 'geskinnt' ... !?

    Naja, hier ist trotzdem ein Bsp.

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('', 635, 476, -1, -1, $WS_POPUP)

    [/autoit] [autoit][/autoit] [autoit]

    $Pic = GUICtrlCreatePic('pic.jpg', 0, 0, 635, 476, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS), $GUI_WS_EX_PARENTDRAG)

    [/autoit] [autoit][/autoit] [autoit]

    $WndMin = GUICtrlCreatePic('min0.bmp', 561, 0, 26, 17, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Minimieren')

    [/autoit] [autoit][/autoit] [autoit]

    $WndClose = GUICtrlCreatePic('close0.bmp', 587, 0, 43, 17, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Schliessen')

    [/autoit] [autoit][/autoit] [autoit]

    $btnBeenden = GUICtrlCreatePic('BtnStpD.bmp', 528, 386, 80, 27, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Programm beenden')

    [/autoit] [autoit][/autoit] [autoit]

    _GuiRoundCorners($hWnd, 0, 0, 6, 6)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    Switch GUIGetMsg()

    Case $WndClose
    Exit
    Case $btnBeenden
    Exit
    EndSwitch

    _PicButtonFromFile($hWnd, $WndMin, 'min0.bmp', 'min1.bmp', 'min2.bmp', 'Minimize')
    _PicButtonFromFile($hWnd, $WndClose, 'close0.bmp', 'close1.bmp', 'close2.bmp', 'Terminate')
    _PicButtonFromFile($hWnd, $btnBeenden, 'BtnStpD.bmp', 'BtnStpH.bmp', 'BtnStpH.bmp', 'Terminate')

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Minimize()

    GUISetState(@SW_MINIMIZE)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    Exit

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)

    Local $pos = WinGetPos($h_win), $ret, $ret2

    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", _
    "long", $i_x1, _
    "long", $i_y1, _
    "long", $pos[2], _
    "long", $pos[3], _
    "long", $i_x3, _
    "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _PicButtonFromFile($hWnd, $controlID, $defaultPic, $onHooverPic, $onClickPic, $Function = '', $parameters = '')

    [/autoit] [autoit][/autoit] [autoit]

    Local $resFunc
    If $onClickPic = '' Or $onClickPic = -1 Then $onClickPic = $onHooverPic
    $cMsg = GUIGetCursorInfo($hWnd)
    If $cMsg[4] = $controlID Then
    GUICtrlSetImage($controlID, $onHooverPic)
    $cMsg = GUIGetCursorInfo($hWnd)
    While $cMsg[4] = $controlID
    If GUIGetMsg() = $controlID Then
    GUICtrlSetImage($controlID, $onClickPic)
    $resFunc = Execute($Function & '(' & $parameters & ')') ; auf klick Funktion ausführen.
    EndIf
    Sleep(10)
    $cMsg = GUIGetCursorInfo($hWnd)
    WEnd
    GUICtrlSetImage($controlID, $defaultPic)
    Return $resFunc
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_PicButtonFromFile

    [/autoit]

    Gruß
    Greenhorn

    Dateien

    SkinGUI.zip 80,35 kB – 208 Downloads
  • Pic aus dlls holen

    • Greenhorn
    • 16. Mai 2008 um 22:47
    Zitat von Xenobiologist

    Hi,

    einfach Resourcehacker nutzen.

    Mega

    Zitat von jendrik

    Was ist das und wo kann ich das runterladen/kaufen ?
    jendrik

    ResHacker, deutsch
    http://www.dvddemystifiziert.de/sonstiges/reshack.zip

    ResHacker, englisch
    http://www.angusj.com/resourcehacker/reshack.zip

    ResHacker Help (überarbeitet)
    http://www.angusj.com/resourcehacker/reshack_hlp.zip


    Gruß

  • Funktion in der Funktion

    • Greenhorn
    • 16. Mai 2008 um 00:37

    HotKeySet nach ganz oben ...

    Spoiler anzeigen
    [autoit]

    Hotkeyset ("a", 'ShowWnd')

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Case $MenuItem4
    Exit
    Case $Minimieren
    MSGBox (0, "PC-Kontrollstation", "Tastenkombination `xyz´")
    WinSetState ("PC", "", @SW_HIDE)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func ShowWnd()

    Winsetstate ("PC", "", @SW_SHOW)

    EndFunc

    [/autoit]


    Gruß
    Greenhorn

    EDIT:

    Spoiler anzeigen
    [autoit]

    Opt('TrayMenuMode', 1)
    Opt('TrayOnEventMode', 1)

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('PC')

    [/autoit] [autoit][/autoit] [autoit]

    $idMinimize = TrayCreateItem('Minimieren')
    TrayItemSetOnEvent(-1, 'HideWnd')
    $idRestore = TrayCreateItem('Wiederherstellen')
    TrayItemSetOnEvent(-1, 'ShowWnd')
    $idExit = TrayCreateItem('Beenden')
    TrayItemSetOnEvent(-1, 'Terminate')

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    TraySetState()

    [/autoit] [autoit][/autoit] [autoit]

    Hotkeyset ("a", 'ShowWnd')

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_MINIMIZE
    HideWnd()
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func ShowWnd()

    GUISetState (@SW_SHOW)
    GUISetState (@SW_RESTORE)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func HideWnd()

    GUISetState (@SW_MINIMIZE)
    GUISetState (@SW_HIDE)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    Exit

    EndFunc

    [/autoit]
  • GUICtrlCreatePic Problem

    • Greenhorn
    • 15. Mai 2008 um 23:56

    Moinsen,

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GuiCreate("Ampel",250,300)
    ;~ GuiCtrlSetData(-1,"Rot|Grün") ???
    $button1 = GUICtrlCreateButton("Keins",1,10,70,15)
    $button2 = GUICtrlCreateButton("Gründ",91,10,70,15)
    $button3 = GUICtrlCreateButton("Rot",181,10,70,15)

    [/autoit] [autoit][/autoit] [autoit]

    $pic1 = GUICtrlCreatePic('' ,10,10,200,250)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    Switch GUIGetMsg()

    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetImage($pic1, @DesktopDir & "\Autoit\keins.gif")
    Case $Button3
    GUICtrlSetImage($pic1, @DesktopDir & "\Autoit\rot.gif")
    Case $Button2
    GUICtrlSetImage($pic1, @DesktopDir & "\Autoit\grün.gif")
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    Wend

    [/autoit]


    Gruß
    Greenhorn

  • Eigene Funktion - Integerwert durch den angegebenen Default ersetzen

    • Greenhorn
    • 15. Mai 2008 um 23:36
    Spoiler anzeigen
    [autoit]

    Func _WinSetTransEx($Title, $Text = "", $Transparency = Default, $NoClick = Default)

    If $Transparency = Default Or $Transparency = -1 Then $Transparency = 220
    If $NoClick = Default Or $NoClick <= -1 Or $NoClick >= 3 Then $NoClick = 0

    Local $hWnd = WinGetHandle($Title, $Text)
    If @Error Then Return SetError(1, 0, 0)

    Switch $NoClick
    Case 0
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 1
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitOR(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), $WS_EX_TRANSPARENT))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 2;Restore
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitAND(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), BitNOT($WS_EX_TRANSPARENT)))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", 255)
    If @Error Then Return SetError(2, 0, 0)
    EndSwitch
    Return 1
    EndFunc

    [/autoit]


    Gruß
    Greenhorn

  • GUICreate mit Checkbox und Button

    • Greenhorn
    • 15. Mai 2008 um 23:28

    Hi,

    so geht's ... :D

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode",1)

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Meine erste GUI",300,200)

    [/autoit] [autoit][/autoit] [autoit]

    $checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
    $checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
    ;~ $checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $okbutton = GUICtrlCreateButton ("OK",50,130,70,20)
    GUICtrlSetState(-1,$GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton ("Cancel",180,130,70,20)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Close");schliessen
    GUICtrlSetOnEvent($cancelbutton,"_Close");abbrechen

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetOnEvent($okbutton,"_Checkbox");abbrechen

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState ()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    $dataCN1 = GUICtrlRead($checkCN1)
    $dataCN2 = GUICtrlRead($checkCN2)

    If $dataCN1 = $GUI_CHECKED Then
    ;Checkboxen schließen sich gegenseitig aus
    GUICtrlSetState($checkCN1, $GUI_DISABLE)
    EndIf
    If $dataCN2 = $GUI_CHECKED Then
    GUICtrlSetState($checkCN1, $GUI_DISABLE)
    EndIf
    If $dataCN1 = $GUI_UNCHECKED Then
    GUICtrlSetState($checkCN2, $GUI_ENABLE)
    EndIf
    If $dataCN2 = $GUI_UNCHECKED Then
    GUICtrlSetState($checkCN1, $GUI_ENABLE)
    EndIf
    If $dataCN1 = $GUI_UNCHECKED And $dataCN2 = $GUI_UNCHECKED Then
    ;Ok Button ist nur dann aktiv wenn eine Checkbox gecheckt
    GUICtrlSetState($okbutton, $GUI_DISABLE)
    EndIf

    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Close()
    GUIDelete()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Checkbox();
    Select
    Case $checkCN1 = $GUI_CHECKED
    MsgBox(0, "Checkbox 1", "ausgewählt")
    Case $checkCN2 = $GUI_CHECKED
    MsgBox(0, "Checkbox 2", "ausgewählt")
    EndSelect
    EndFunc

    [/autoit]


    Gruß
    Greenhorn

  • Progress senkrecht ?

    • Greenhorn
    • 14. Mai 2008 um 20:52

    Hier habe ich auch noch ein paar Beispiele für selbsterstellte ProgressBars.

    Gefunden: Hier -> http://autoitscript.fr/forum/viewtopic.php?p=5121#p5121


    Gruß
    Greenhorn

    Dateien

    ProgressBar_Thierry.zip 4,92 kB – 200 Downloads
  • Wie kann ich GuiGetMsg = Array vereinfachen?

    • Greenhorn
    • 14. Mai 2008 um 14:21

    Hi,

    Spoiler anzeigen
    [autoit]


    ; angenommen die IDs sind fortlaufend ...
    $nMsg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $nMsg
    Case $listviewitem[1] To $listviewitem[UBound($listviewitem - 1)]
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    ; oder ...
    $nMsg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    For $iID = 1 To 200

    If $nMsg = $listviewitem[$iID] Then
    ClipPut(Guictrlread($listviewitem[$iID]))
    EndIf
    Next

    [/autoit]


    Gruß
    Greenhorn

  • Firefox oder InternetExplorer starten und sofort eine Seite laden

    • Greenhorn
    • 13. Mai 2008 um 21:20

    Hi,

    Spoiler anzeigen
    [autoit]

    Shellexecute('http://www.autoitscript.com/autoit3)

    [/autoit]

    Gruß
    Greenhorn

    EDIT:
    Oder ...

    Spoiler anzeigen
    [autoit]

    Run(@ProgramFilesDir & '\Mozilla Firefox\firefox.exe "http://www.autoitscript.com/autoit3"')
    Run(@ProgramFilesDir & '\Internet Explorer\iexplore.exe "http://www.autoitscript.com/autoit3"')

    [/autoit]
  • Progress Bar mit Bitmaps

    • Greenhorn
    • 11. Mai 2008 um 02:21

    Hi,

    ich habe ein schönes snippet im engl. Forum gefunden und mir eine kleine Funktion draus gebastelt ...
    http://www.autoitscript.com/forum/index.php?showtopic=64703&view=findpost&p=483526

    Update 18.o5.o8

    Beispiel

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=progressEx2.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 1.bmp, bitmap, 1, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 2.bmp, bitmap, 2, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 3.bmp, bitmap, 3, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 4.bmp, bitmap, 4, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 5.bmp, bitmap, 5, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -add %out%, %out%, 6.bmp, bitmap, 6, 1031
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\Aut2Exe\upx.exe --best --compress-resources=1 "%out%"
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include-once
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #include <ProgressBar.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $SS_CENTER = 1

    [/autoit] [autoit][/autoit] [autoit]

    ; Wichtig ! s. Funktion.
    Opt('OnExitFunc', 'Terminate')

    [/autoit] [autoit][/autoit] [autoit]

    ; Array mit Bitmaps von der Festplatte !!!
    Global $aPics[6] = ['1.bmp', '2.bmp', '3.bmp', '4.bmp', '5.bmp', '6.bmp']

    [/autoit] [autoit][/autoit] [autoit]

    ; Array mit Bitmaps aus den Resourcen !!!
    ;Global $aPics[6] = [1, 2, 3, 4, 5, 6]

    [/autoit] [autoit][/autoit] [autoit]

    ; Testfenster erstellen.
    $hWnd = GUICreate('ProgressBar mit Bitmaps - Demo', 500, 300, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPCHILDREN))
    GUISetBkColor(0xFFFFFF)
    GUISetFont(10, 800, 0, 'SegoeUI')

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel('Progressbar Test', 0, 80, 500, 20, $SS_CENTER)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetFont(-1, 12, 800, 0, 'SegoeUI')

    [/autoit] [autoit][/autoit] [autoit]

    $aProgressBar1 = ProgressBarCreate(100, 150, 300, $aPics, $hWnd)
    ProgressBarSetState($aProgressBar1)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $hWnd)

    [/autoit] [autoit][/autoit] [autoit]

    $aProgressBar2 = ProgressBarCreate(100, 150, 500, $aPics)
    ProgressBarSetState($aProgressBar2)

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(1500)
    TestProgress($aProgressBar1)
    TestProgress($aProgressBar2)

    [/autoit] [autoit][/autoit] [autoit]

    ; muss vor Programmende aufgerufen werden,
    ; um mit den Resourcen aufzuräumen.
    ;ProgressBarDelete($aProgressBar1)
    ;ProgressBarDelete($aProgressBar2)

    [/autoit] [autoit][/autoit] [autoit]

    While True

    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func TestProgress($aProgress)

    For $i = 1 To 100
    ProgressBarSetData($aProgress, $i)
    Sleep(1)
    Next

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    ; muss vor Programmende aufgerufen werden,
    ; um mit den Resourcen aufzuräumen.
    ProgressBarDelete($aProgressBar1)
    ProgressBarDelete($aProgressBar2)

    EndFunc

    [/autoit]


    ProgressBar.au3

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include-once
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func ProgressBarCreate($x, $y, $iWidth, $aBitmaps, $hWndParent = 0)

    Local $dwStyleCtrl, $dwExStyleCtrl, $aProgress[3][$iWidth + 1]
    $aProgress[1][0] = $iWidth
    $aProgress[0][3] = 1

    If Not IsArray($aBitmaps) Then
    Return SetError(1, 1, 0)
    EndIf

    Local $i, $eBmp, $fuLoad, $hInst, $hInstance = GetModuleHandle()

    For $eBmp In $aBitmaps

    $i += 1
    If IsString($eBmp) Then
    $hInst = Ptr(0)
    $fuLoad = 16
    ElseIf IsInt($eBmp) Then
    $hInst = $hInstance
    $fuLoad = 0
    EndIf

    $aProgress[2][$i] = LoadImage($hInst, $eBmp, 0, 0, 0, $fuLoad)

    [/autoit] [autoit][/autoit] [autoit]

    Next


    If Not $hWndParent Or $hWndParent = 0 Then
    $aProgress[0][0] = GUICreate('ProgressBar', $iWidth, 15, $x, $y, _
    BitOR($WS_CLIPCHILDREN, $WS_CLIPSIBLINGS, $WS_POPUP), _
    BitOR(0x2000000, $WS_EX_LAYERED))
    $dwStyleCtrl = BitOR(0x0100, $WS_CHILD)
    $dwExStyleCtrl = BitOr($WS_EX_LAYERED,$GUI_WS_EX_PARENTDRAG, $WS_EX_TOPMOST)
    $x = 0
    $y = 0
    Else
    $dwStyleCtrl = $WS_CHILD
    $dwExStyleCtrl = $WS_EX_TOPMOST
    EndIf

    $aProgress[1][1] = GUICtrlCreatePic('', $x, $y, 2, 15, BitOR($dwStyleCtrl, $WS_GROUP), $dwExStyleCtrl)
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSendMsg($aProgress[1][1], 0x0172, 0, $aProgress[2][1])

    For $i = 2 To $iWidth - 3
    $aProgress[1][$i] = GUICtrlCreatePic('', $x + $i, $y, 1, 15, $dwStyleCtrl, $dwExStyleCtrl)
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSendMsg($aProgress[1][$i], 0x0172, 0, $aProgress[2][3])
    Next

    $aProgress[1][$iWidth] = GUICtrlCreatePic('', $x + $iWidth - 2, $y, 2, 15, BitOR($dwStyleCtrl, $WS_GROUP), $dwExStyleCtrl)
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSendMsg($aProgress[1][$iWidth], 0x0172, 0, $aProgress[2][2])

    $aProgress[0][1] = GUICtrlCreateLabel('0 %', $x + ($iWidth / 2) -15, $y, 40, 15, _
    BitOR($WS_VISIBLE, $WS_CLIPSIBLINGS, 1 , $dwStyleCtrl), $dwExStyleCtrl)
    GUICtrlSetFont(-1, 8.5, 800, 0, 'Segoe UI Fett')
    GUICtrlSetColor(-1,0x424242)

    If Not $hWndParent Then $aProgress[0][2] = GUICtrlSetTip(-1, "Drag me, please ... ;) ")

    Return $aProgress

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ProgressBarSetData(ByRef $aProgress, $iPercent)

    If $iPercent <= 0 Then Return 0
    $cxStart = $aProgress[0][3]
    $cxEnd = Int(($aProgress[1][0] / 100) * $iPercent)
    $aProgress[0][3] = $cxEnd + 1

    [/autoit] [autoit][/autoit] [autoit]

    For $i = $cxStart To $cxEnd
    If $i = 1 Then
    GUICtrlSendMsg($aProgress[1][1], 0x0172, 0, $aProgress[2][5])
    ElseIf $iPercent = 100 And $i = Int($cxEnd) Then
    GUICtrlSendMsg($aProgress[1][$aProgress[1][0]], 0x0172, 0, $aProgress[2][6])
    Else
    GUICtrlSendMsg($aProgress[1][$i], 0x0172, 0, $aProgress[2][4])
    EndIf
    Sleep(0)
    Next

    ProgressBarSetText($aProgress, $iPercent & ' %')

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ProgressBarSetState($aProgress, $State = @SW_SHOW)

    GUISetState($State, $aProgress[0][0])

    GUICtrlSetBkColor($aProgress[0][1], $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetData($aProgress[0][1], '0 %')
    GUICtrlSetState($aProgress[0][1], $GUI_ONTOP)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ProgressBarSetText($aProgress, $sText)

    GUICtrlSetState($aProgress[0][1], $GUI_HIDE)
    GUICtrlSetData($aProgress[0][1], $sText)
    GUICtrlSetState($aProgress[0][1], $GUI_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ProgressBarDelete($aProgress)

    If $aProgress[0][0] Then
    GUIDelete($aProgress[0][0])
    Else
    For $i = 1 To $aProgress[1][0]
    GUICtrlSendMsg($aProgress[1][$i], $WM_CLOSE, 0, 0)
    Next
    EndIf

    For $i = 1 To 6

    DeleteObject($aProgress[2][$i])

    Next

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func LoadImage($hInstance, $lpszName, $uType, $cxDesired = 0, $cyDesired = 0, $fuLoad = 0)

    If IsNumber($lpszName) Then $lpszName = MAKEINTRESOURCE($lpszName)
    Local $aResult = DllCall('user32.dll', 'hwnd', 'LoadImage', _
    'ptr', $hInstance, _
    'str', $lpszName, _
    'uint', $uType, _
    'int', $cxDesired, _
    'int', $cyDesired, _
    'uint', $fuLoad)
    Return $aResult[0]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func GetModuleHandle($sModule = '')

    Local $aResult = DllCall('kernel32.dll', 'hwnd', 'GetModuleHandle', 'ptr', StringLeft($sModule, 4095) & Chr(0))

    Return $aResult[0]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func DeleteObject($hObject)

    Local $aResult = DllCall('gdi32.dll', 'int', 'DeleteObject', 'hwnd', $hObject)
    Return $aResult[0]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func MAKEINTRESOURCE($lID)

    Return "#" & String(Int($lID))

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Gruß
    Greenhorn

    Dateien

    Zwischenablage01.jpg 112,58 kB – 0 Downloads Zwischenablage03.jpg 118,74 kB – 0 Downloads ProgressBarBitmapAu3.zip 4,17 kB – 354 Downloads
  • MsgBox mit graflicher Gestaltung machen

    • Greenhorn
    • 9. Mai 2008 um 12:44

    Habe auch mal versucht 'ne eigene MsgBox zu basteln, gar nicht so einfach ...

    Spoiler anzeigen
    [autoit]

    $iMsg = MessageBox('Dies ist ein Test-String mit Zeichenfolgen WWWWWWWWWW DDDDDDiiiiiiiiiiDDDDDDggggggggggDDDDDDDDDDDDDD!', _
    '&Hinzufügen', '&Entfernen', '&Abbrechen')

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(266304, Default, 'Der Rückgabewert von MessageBox ist : ' & $iMsg)

    [/autoit] [autoit][/autoit] [autoit]

    Func MessageBox($szString, $szButton1, $szButton2 = '', $szButton3 = '')

    Local $arString, $iWidth, $iHeight, $idButton1, $idButton2, $idButton3, $iLeft1, $iLeft2, $iLeft3, $iTop

    $arString = StringSplit(StringReplace($szString, ' ', 4), '')

    Dim $ptn[13]
    $ptn[2] = '[lji' & "'" & '"´`!,\.:;]'
    $ptn[3] = '[rtfI\(\)\[\]{}-]'
    $ptn[4] = '[\*]'
    $ptn[5] = '[\\/ sxyzJ]'
    $ptn[6] = '[_+~=$§&%€\?<>abcdeghknopquvßFL]'
    $ptn[7] = '[#ÄABCEKPSTVXYZ]'
    $ptn[8] = '[wmÖÜDGHNORQU]'
    $ptn[9] = '[M]'
    $ptn[11] = '[W@\t]'

    For $ic = 1 To $arString[0]
    For $i = 2 To 11
    If $i = 10 Then
    ContinueLoop
    Else
    $arString[$ic] = StringRegExpReplace($arString[$ic], $ptn[$i], $i)
    EndIf
    Next
    $iWidth += $arString[$ic]
    Next


    If $iWidth <= 400 Then
    $iWidth = 400
    Else
    $iWidth +=120
    EndIf


    $iHeight = 240
    ; Button
    If Not $szButton2 And Not $szButton3 Then
    $iLeft1 = ($iWidth / 2) - 40
    ElseIf $szButton2 And Not $szButton3 Then
    $iLeft1 = ($iWidth / 2) - 90
    $iLeft2 = $iLeft1 + 100
    ElseIf $szButton2 And $szButton3 Then
    $iLeft1 = ($iWidth / 2) - 140
    $iLeft2 = $iLeft1 + 100
    $iLeft3 = $iLeft2 + 100
    EndIf

    $iTop = $iHeight - 80

    $hWndMsgBox = GUICreate(@ScriptName, $iWidth, $iHeight, -1, -1, BitOR($WS_SIZEBOX,$WS_CAPTION, $DS_SETFOREGROUND), $WS_EX_TOPMOST)
    ; $hWndMsgBox = GUICreate(@ScriptName, $iWidth, $iHeight, -1, -1, _
    ; BitOR($WS_VISIBLE, $WS_TABSTOP, $DS_MODALFRAME, $DS_SETFOREGROUND), _
    ; BitOR($WS_EX_APPWINDOW, $WS_EX_TOPMOST, $WS_EX_CLIENTEDGE, $WS_EX_DLGMODALFRAME ))
    $idButton1 = GUICtrlCreateButton($szButton1, $iLeft1, $iTop, 80, 25)
    If $iLeft2 Then $idButton2 = GUICtrlCreateButton($szButton2, $iLeft2, $iTop, 80, 25)
    If $iLeft3 Then $idButton3 = GUICtrlCreateButton($szButton3, $iLeft3, $iTop, 80, 25)
    $idIcon = GUICtrlCreateIcon(@AutoItExe, 0, 20, 20, 48, 48)
    GUICtrlSetState($idIcon, $GUI_DISABLE)
    $Label1 = GUICtrlCreateLabel($szString, 90, 40)

    GUISetState(@SW_SHOW)

    ; Send('{LALT}')

    [/autoit] [autoit][/autoit] [autoit]

    While True

    Switch GUIGetMsg()
    Case -3
    Exit
    Case $idButton1
    GUIDelete($hWndMsgBox)
    Return 1
    Case $idButton2
    GUIDelete($hWndMsgBox)
    If $idButton2 Then Return 2
    Case $idButton3
    GUIDelete($hWndMsgBox)
    If $idButton3 Then Return 3
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    Gruß
    Greenhorn

  • Deinstallation über die Registry

    • Greenhorn
    • 9. Mai 2008 um 11:32

    Und wenn's doch mal nötig sein sollte ...
    (still in progress)

    Spoiler anzeigen
    [autoit]

    ;========================================================================================
    ; RegScanTree($szKey, $iBuffer = 100000, $iIdle = 0)
    ;
    ; Rückgabe: Erfolg - Array, enthält Namen und Werte aller Unterschlüssel des Registrierungspfades.
    ; Fehler - @error = 1, wenn HiveKey falsch oder Buffer zu hoch/niedrig.
    ;========================================================================================
    Func RegScanTree($szKey, $iBuffer = 100000, $iIdle = 0) ; OK

    $iError = CheckRegFuncParams($szKey, $iBuffer)
    If $iError Then Return SetError($iError)

    Local $arRegList, $arKeyNames, $arKeys, $arValues, $iIndex
    Dim $arRegList[$iBuffer][4]
    Dim $arSubKeys[$iBuffer]

    $arValues = RegScanVal($szKey)
    If Not IsArray($arValues) Then Return SetError(1, 5, 0)
    For $iVal = 1 To $arValues[0][0]
    $iIndex += 1
    $arRegList[$iIndex][0] = $arValues[$iVal][0]
    $arRegList[$iIndex][1] = $arValues[$iVal][1]
    $arRegList[$iIndex][2] = $arValues[$iVal][2]
    $arRegList[$iIndex][3] = $arValues[$iVal][3]
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $arKeyNames = RegScanKeyNames($szKey)
    If Not IsArray($arKeyNames) Then
    Return SetError(1, 3, 0)
    ElseIf Not $arKeyNames[0] Then
    $arRegList[0][0] = $iIndex
    ReDim $arRegList[$iIndex + 1][4]
    Return $arRegList
    EndIf

    For $iKey = 1 To $arKeyNames[0]
    $arValues = RegScanVal($arKeyNames[$iKey])
    If Not IsArray($arValues) Then Return SetError(1, 4, 0)
    For $iVal = 1 To $arValues[0][0]
    $iIndex += 1
    $arRegList[$iIndex][0] = $arValues[$iVal][0]
    $arRegList[$iIndex][1] = $arValues[$iVal][1]
    $arRegList[$iIndex][2] = $arValues[$iVal][2]
    $arRegList[$iIndex][3] = $arValues[$iVal][3]
    Next
    Next

    $arRegList[0][0] = $iIndex
    ReDim $arRegList[$iIndex + 1][4]
    Return $arRegList

    EndFunc
    ;========================================================================================
    ; RegScanKeyNames($szKey, $iBuffer = 100000, $iIdle = 0)
    ;
    ; Rückgabe: Erfolg - Array, enthält Namen aller Unterschlüssel des Registrierungspfades.
    ; Fehler - @error = 1, wenn HiveKey falsch oder Buffer zu hoch/niedrig.
    ;========================================================================================
    Func RegScanKeyNames($szKey, $iBuffer = 100000, $iIdle = 0) ; OK

    $iError = CheckRegFuncParams($szKey, $iBuffer)
    If $iError Then Return SetError($iError)

    Local $arKeyList, $iIndex, $iIdleHere
    Dim $arKeyList[$iBuffer]

    $arSubKeyNames = RegScanSubKeyNames($szKey)

    [/autoit] [autoit][/autoit] [autoit]

    If Not $arSubKeyNames[0] Then
    ReDim $arKeyList[1]
    Return $arKeyList
    Else
    For $iSub = 1 To $arSubKeyNames[0]
    $iIndex += 1
    $arKeyList[$iSub] = $szKey & '\' & $arSubKeyNames[$iSub]
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    For $iKey = 1 To $iBuffer -1
    If Not $arKeyList[$iKey] Then ExitLoop
    $arSubKeyNames = RegScanSubKeyNames($arKeyList[$iKey])
    If Not $arSubKeyNames[0] Then ContinueLoop

    For $iSub = 1 To $arSubKeyNames[0]
    If $iKey = $iIdleHere Then Sleep($iIdle)
    $iIndex += 1
    $arKeyList[$iIndex] = $arKeyList[$iKey] & '\' & $arSubKeyNames[$iSub]
    Next
    $iIdleHere += 100
    Next

    $arKeyList[0] = $iIndex
    ReDim $arKeyList[$iIndex + 1]
    Return $arKeyList

    EndFunc
    ;========================================================================================
    ; RegScanSubKeyNames($szKey, $iBuffer = 10000)
    ;
    ; Rückgabe: Erfolg - Array, enthält Namen der Unterschlüssel.
    ; Fehler - @error = 1, wenn HiveKey falsch oder Buffer zu hoch/niedrig.
    ;========================================================================================
    Func RegScanSubKeyNames($szKey, $iBuffer = 10000) ; OK

    $iError = CheckRegFuncParams($szKey, $iBuffer)
    If $iError Then Return SetError($iError)
    Local $szSubKey, $iInstance
    Dim $arSubKey[$iBuffer]

    For $iInstance = 1 To $iBuffer - 1
    $szSubKey = RegEnumKey($szKey, $iInstance)
    If @error Then ExitLoop
    $arSubKey[0] = $iInstance
    $arSubKey[$iInstance] = $szSubKey
    Next

    If Not $arSubKey[0] Then
    ReDim $arSubKey[1]
    Return $arSubKey
    Else
    ReDim $arSubKey[$arSubKey[0] + 1]
    Return $arSubKey
    EndIf

    EndFunc
    ;========================================================================================
    ; RegScanVal($szKey, $iBuffer = 1000)
    ;
    ; Rückgabe: Erfolg - Array, zweidimensional
    ; Schlüssel, Wertname, Typ und Wert des Registrierungsschlüssels.
    ; Fehler - @error = 1, wenn HiveKey falsch oder Buffer zu hoch/niedrig.
    ;========================================================================================
    Func RegScanVal($szKey, $iBuffer = 1000) ; OK !

    $iError = CheckRegFuncParams($szKey, $iBuffer)
    If $iError Then Return SetError($iError)

    Local $arRegList, $arSubKeys, $arValueNames, $vRegValue
    Dim $arRegList[$iBuffer][4]

    $arValueNames = RegScanValNames($szKey, $iBuffer - 1)
    If Not IsArray($arValueNames) Then Return SetError(1, 3, 0)
    $arRegList[0][0] = $arValueNames[0][0]
    For $iVal = 1 To $arValueNames[0][0]
    $vRegValue = RegRead($szKey, $arValueNames[$iVal][0])
    $arRegList[$iVal][0] = $szKey
    $arRegList[$iVal][1] = $arValueNames[$iVal][0]
    $arRegList[$iVal][2] = $arValueNames[$iVal][1]
    $arRegList[$iVal][3] = $vRegValue
    Next

    ReDim $arRegList[$arRegList[0][0] + 1][4]

    Return $arRegList

    EndFunc
    ;========================================================================================
    ; RegScanValNames($szKey, $iBuffer = 1000)
    ;
    ; Rückgabe: Erfolg - Array[0][1] Schlüsselname.
    ; Array[1][0] Wertname.
    ; Array[1][1] Typ.
    ; Fehler - @error = 1, wenn HiveKey falsch oder Buffer zu hoch/niedrig.
    ;========================================================================================
    Func RegScanValNames($szKey, $iBuffer = 1000) ; OK !

    $iError = CheckRegFuncParams($szKey, $iBuffer)
    If $iError Then Return SetError($iError)
    Local $arKeyVal, $szValName
    Dim $arKeyVal[$iBuffer + 1][2]

    [/autoit] [autoit][/autoit] [autoit]

    For $iInstance = 1 To $iBuffer
    $szValName = RegEnumVal($szKey, $iInstance)
    If @error = -1 Then ExitLoop
    $arKeyVal[0][0] = $iInstance
    $arKeyVal[$iInstance][0] = $szValName
    $arKeyVal[$iInstance][1] = RegTypeNumToVar(@extended)
    Next
    If $arKeyVal[0][0] Then
    $arKeyVal[0][1] = $szKey
    ReDim $arKeyVal[$arKeyVal[0][0] + 1][2]
    Return $arKeyVal
    Else
    $arKeyVal[0][0] = 1
    $arKeyVal[0][1] = $szKey
    $arKeyVal[1][0] = ''
    $arKeyVal[1][1] = 'REG_SIZE'
    ReDim $arKeyVal[2][2]
    Return $arKeyVal
    EndIf

    EndFunc
    ;========================================================================================
    ; Interne Funktion.
    ;
    ; Rückgabe: Errorcode 1; Extended 1 & 2.
    ;========================================================================================
    Func CheckRegFuncParams($szKey, $iBuffer = 1) ; nicht OK !

    Local $iErrorCode
    If Not IsString($szKey) Or Not StringRegExp($szKey, '\A(HKEY_CLASSES_ROOT)|' & _
    '(HKEY_CURRENT_USER)|' & _
    '(HKEY_CURRENT_CONFIG)|' & _
    '(HKEY_LOCAL_MACHINE)|' & _
    '(HKEY_USERS)|' & _
    '(HKCR)|' & _
    '(HKCU)|' & _
    '(HKCC)|' & _
    '(HKLM)|' & _
    '(HKU)', 0) Then
    $iErrorCode = 1 ; $szKey ist kein String oder HiveKey.
    EndIf
    If Not IsInt($iBuffer) Or $iBuffer <= 0 Or $iBuffer > 16777216 Then
    If $iErrorCode Then
    $iErrorCode = 3
    Else
    $iErrorCode = 2
    EndIf
    EndIf

    Return $iErrorCode

    EndFunc
    ;========================================================================================
    ; RegTypeNumToVar($iValue)
    ;
    ; Rückgabe: Variablenstring des numerischen Wertes der Registrierungstyp-Konstanten.
    ;========================================================================================
    Func RegTypeNumToVar($iValue) ; OK

    If Not IsInt($iValue) Then Return SetError(1, 0, 0)
    Switch $iValue
    Case 0
    Return 'REG_NONE'
    Case 1
    Return 'REG_SZ'
    Case 2
    Return 'REG_EXPAND_SZ'
    Case 3
    Return 'REG_BINARY'
    Case 4
    Return 'REG_DWORD'
    Case 5
    Return 'REG_DWORD_BIG_ENDIAN'
    Case 6
    Return 'REG_LINK'
    Case 7
    Return 'REG_MULTI_SZ'
    Case 8
    Return 'REG_RESOURCE_LIST'
    Case 9
    Return 'REG_FULL_RESOURCE_DESCRIPTOR'
    Case 10
    Return 'REG_RESOURCE_REQUIREMENTS_LIST'
    Case Else
    Return SetError(1, 1, 0) ; kein Registry Wert-Typ.
    EndSwitch

    EndFunc

    [/autoit]

    Aber Vorsicht: hoher Speicherbedarf und CPU-Auslastung !!!
    Also ihr solltet nicht gerade 'HKLM' oder so eintippen, je nach System kommen da ein paar Hunderttausend Werte zusammen ...
    Wie gesagt, ich arbeite noch dran, und Vorsicht mit _ArrayDisplay, die Func frisst auch ordentlich CPU.


    Gruß

  • Deinstallation über die Registry

    • Greenhorn
    • 9. Mai 2008 um 11:14

    Hi,

    hast Du denn überprüft was $uninstallstring enthält, vllt liegt da der Fehler ...

    Spoiler anzeigen
    [autoit]

    ;Programme auslesen
    $Key = "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall"
    Dim $a = 0
    While 1
    $a += 1

    $var = RegEnumKey($Key, $a)
    If @error Then ExitLoop

    $regread = RegRead($Key & "\" & $var,"DisplayName")

    [/autoit] [autoit][/autoit] [autoit]

    If $regread = "ScrewDrivers Client v3" Or $regread = "MetaFrame Presentation Server Client" Then
    $uninstallstring = RegRead($Key & "\" & $var,"UninstallString")
    MsgBox(266304, Default, $uninstallstring)

    $uninstallstring = StringReplace($uninstallstring,"/I","/uninstall ")
    MsgBox(266304, Default, $uninstallstring)
    ;~ _RunDOS("start " & $uninstallstring & " /passive")
    RunWait($uninstallstring & " /passive")
    If @error Then ConsoleWrite('Errorcode: ' & @error & @CRLF)
    MsgBox(64,"Software",$regread & " wurde deinstalliert",5)
    EndIf
    WEnd

    [/autoit]

    Davon mal abgesehen, wenn Du die Schlüsselnamen und Wertnamen kennst, warum liest Du sie dann nicht direkt aus, waum der Umstand alle Subkeys in 'Uninstall' abzugrasen ... ?(


    Gruß
    Greenhorn

  • @OSBuild welche Antworten möglich??

    • Greenhorn
    • 9. Mai 2008 um 10:50
    Zitat von Xenobiologist

    Greenhorn: Respekt sogar Autor angegeben. :D

    Mega

    Selbstredend ... 8):D


    Gruß
    Greenhorn

  • mehre exe-dateien einbinden und ausführen OHNE auf Festplatte auszulagern!

    • Greenhorn
    • 4. Mai 2008 um 13:19

    Also, rein theoretisch - und praktisch eigentlich auch - geht es.
    Es gibt Proggies die das können, jedoch sind sie alle A***teuer.
    Also scheint es wirklich nicht einfach zu sein.

    Eines, das noch viel weiter geht, als nur ausführbare Dateien aus den Resourcen heraus zu starten, ist z.B. Thinstall.
    http://www.thinstall.com/products/virtualization_suite.php

    Falls jemand Programme kennt, die Ähnliches leisten, aber Open Source/Freeware sind, dann bitte melden!


    Gruß
    Greenhorn

    p.s. Software portabel zu machen ist ein kleines Hobby von mir ... :D
    Jemand 'ne Ahnung wie man so etwas wie Thinstall selbst proggen kann ?!?!?!?

  • DllStructCreate & $WM_CAP_SET_VIDEOFORMAT

    • Greenhorn
    • 4. Mai 2008 um 13:08
    Zitat von BugFix

    LOL, dahaddu Recht :D

    Sehe gerade in deiner Sigi das Bit-Tutorial ..., Danke dir, sowas habe ich gesucht. :thumbup:

    Im 'C++ Primer' wird das zwar auch Erklärt, aber manchmal ist das Buch für mich etwas zu kompliziert ...


    Gruß
    Greenhorn

  • Suche kleines Proggie (portable ?) für "CPU Burn in"

    • Greenhorn
    • 4. Mai 2008 um 12:58

    So, vorläufiges Ergebnis: Kaum Verbesserung/Änderung gegenüber zuvor ... :huh:

    Muss ich wohl nochmal machen. :(

    Übrigens Danke für die Tips, den von Oscar konnte ich gut gebrauchen, da meine Endlosschleife nur einen, bzw. beide Kerne zur Hälfte belastet hat.
    Als ich dann noch den Rechner-Tip angewendet habe war Action in der Kiste ... :D

    Werde heute Abend noch einmal das ganze Prozedere durchführen, gebe dann Bericht ab ... ;)


    Gruß
    Greenhorn

    EDIT:
    Habe jetzt auch herausgefunden, wie man das Ganze mit Everest macht: Sytemstabilitätstest !
    Da habe ich dann auch eine Kurvendiagramm-Darstellung der Temperaturen ...
    (... benutze ich nun schon so lange, das Tool, und die Besten Features sehe ich erst jetzt ... :D )

  • Suche kleines Proggie (portable ?) für "CPU Burn in"

    • Greenhorn
    • 3. Mai 2008 um 22:14
    Zitat von Xenobiologist

    Hi,

    was heißt mein Rechner?

    CPU --> While 1 WEnd Schleife
    HDD --> Kopieren löschen Schleife

    Mega

    Ich Trottel, dass ich da nicht gleich drauf gekommen bin ... :rolleyes::whistling:
    Muss glaube ich gleich mal aufs Sofa ... :D

    Vielen Dank, Mega !!!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™