icon von verknüpfungen in gui darstellen

  • Hallo zusammen,

    ich möchte in einer gui von datei xy das Icon (ohne es vorher zu extrahieren) darstellen, wie mache ich das?

    Spoiler anzeigen
    [autoit]

    GUICreate("TEst",640,400,-1,-1)

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


    $Button_1 = GUICtrlCreateButton("test", 20,20,20,20)

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

    GUISetState()

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

    sleep (5000ms)

    [/autoit]
  • was für ein icon ist es denn? aus der shell32.dll?

    wenn es ein icon aus einer exe ist, musst du es extrahieren, da wird kein weg daran vorbeiführen (verstehe nicht warum du das nicht willst???)

  • nein ohne es vorher zu extrahieren meinte ich es nicht manuel zu extramieren ich möchte das autoit es selber aus der exe rausholt und als button dastell.t ich möchte später noch machen, dass wenn man dann auf das icon in der GUI klickt das dann das spiel /programm startet

    Einmal editiert, zuletzt von moritz1243 (29. April 2009 um 17:07)

  • das es icon für einen button sein soll hast du vorher nicht gesagt... ;)

    Zitat

    einfach in der GUI Fläche nicht oben in der leiste

    [HELLSEHERMODUS]
    ich vermute mal du willst nen programmstarter für deine spiele/programme machen. Erstelle einen Ordner in den du alle verknüpfungen zu deinen exe dateien ablegst. ermittle über eine schleife alle pfade zu den exe dateien und extrahiere die tsprechenden icons über dll-calls. gleichzeitig kannst du dir noch deine buttons (es würde sich für so einen fall jedoch eher ein traymenü anbieten) mit den entsprechenden icons bauen. das starten der programme dürfte mit dem bereits ermittelten pfad zur exe auch kein problem mehr sein ;)
    [/HELLSEHERMODUS]

    hf

  • Einfach eine Datei auswählen.

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>

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

    Opt('GUIOnEventMode', 1)
    HotKeySet('{Esc}', '_Ende')

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

    GUICreate("Button1", 200, 200, -1, 100)
    GUISetOnEvent(-3, '_Ende')

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

    $Datei = FileOpenDialog("Datei für die Verwendung eines Icons auswählen", "", "Binaries (*.exe; *.dll)")
    If $Datei = "" Then Exit

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

    GUICtrlCreateIcon($Datei, 0, 80, 80)
    GUICtrlSetOnEvent(-1, '_Run')

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

    GUISetState()

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

    While 1
    Sleep(10000)
    WEnd

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

    Func _Ende()
    Exit
    EndFunc

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

    Func _Run()
    Run($Datei)
    EndFunc

    [/autoit]
  • Machs einfach so

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("GUI_ICON", 300, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 100, 50, 50, 50, $BS_ICON)
    GUICtrlSetImage(-1, "test.exe",0)
    GUICtrlSetOnEvent(-1, "Button1Click")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func Button1Click()

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

    EndFunc
    Func Form1Close()
    Exit
    EndFunc

    [/autoit]


    Datei test.txt habe ich angehängt. nix böses nur eine Autoit MsgBox, kannst auch was anderes nehmen. Da ich keinen Pfad definiert habe die Datei einfach ins Scriptverzeichnis kopieren

    Gruß rabbit