ihc krieg das mit dem menü nicht hin

  • Ich wollte so nen ganz einfaches script machen zum screenen

    (bin ein anfänger sorry das es so schlecht ist ich weiß)

    aber ich krieg das mit dem Menü nciht hin

    (im programm-->winsetontop)


    helft mir mal :(


    (wie hängt man hier dateien an? x'D ich poste einfach link hmpf)

    Edit Oscar: Bei mir hat der Download geklappt. Hier mal das Skript:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ScreenCapture.au3>
    #include <GDIPlus.au3>
    #RequireAdmin
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("screen by aflakes", 260, 80, 959, 1)
    $screen = GUICtrlCreateButton("screen", 16, 32, 89, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("´Klick", 136, 15, 50, 30)
    $Label2 = GUICtrlCreateLabel("letzer screen:", 64, 8, 67, 17)
    $menu= GUICtrlCreateMenu("Menue")
    $menuitem=GUICtrlCreateMenuItem("Always on top", $menu)
    guictrlsetstate($menuitem, $GUI_CHECKED)

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

    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###
    sleep(555)
    WinSetOnTop("[ACTIVE]", "",1)
    msgbox(0,"screen","bilder werden gespeichert unter:"&@CRLF&"C:/Users/username/dokumente/bildname")

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

    While 1

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


    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $screen
    guictrlsetdata($label1, @HOUR&":"&@Min&":"&@SEC)


    _Main()

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

    Func _Main()
    Local $hBmp

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

    ; Capture full screen
    $hBmp = _ScreenCapture_Capture ()
    $input=inputbox("filename","bitte bildname eingeben")
    ; Save bitmap to file
    _ScreenCapture_SaveImage (@MyDocumentsDir & "\"&$input&".bmp", $hBmp)


    If $nMsg= $menuitem then
    If BitAND(GUICtrlRead($menuitem), $gui_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($menuitem, $GUI_UNCHECKED)
    WinSetOnTop("[ACTIVE]", "",0)
    Else
    GUICtrlSetState($menuitem, $GUI_CHECKED)
    WinSetOnTop("[ACTIVE]", "",1)
    EndIf
    endif

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

    EndFunc

    EndSwitch
    WEnd

    [/autoit]


    Edit Oscar:  @aflakes: zum einfügen eines AutoIt-Skripts einfach hier im Editor auf das [SP] und auf das AutoIt-Symbol klicken und das Skript dazwischen einfügen.

    http://rapidshare.com/files/442721573/screen__2_.au3

    2 Mal editiert, zuletzt von Oscar (15. Januar 2011 um 18:46)

  • Hallo aflakes,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    Auch das lesen von Autoit-Anfänger Guide / Wie poste ich richtig? kann dir nicht schaden.

    und jetzt zu deinem Problem: solange du nicht deinen Source Skript hier einstellst, darfst du nicht erwarten, dass sich jemand die Mühe macht dir zu antworten. Deshalb hier nur das Beispiel aus der Hilfe:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $defaultstatus = "Ready", $status, $filemenu, $fileitem
    Local $helpmenu, $saveitem, $infoitem, $exititem, $recentfilesmenu
    Local $separator1, $viewmenu, $viewstatusitem, $okbutton, $cancelbutton
    Local $statuslabel, $msg, $file

    GUICreate("My GUI menu", 300, 200)

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

    $filemenu = GUICtrlCreateMenu("&File")
    $fileitem = GUICtrlCreateMenuItem("Open", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $helpmenu = GUICtrlCreateMenu("?")
    $saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
    $recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)

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

    $separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; create a separator line

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

    $viewmenu = GUICtrlCreateMenu("View", -1, 1) ; is created before "?" menu
    $viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $okbutton = GUICtrlCreateButton("OK", 50, 130, 70, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton("Cancel", 180, 130, 70, 20)

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

    $statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()

    If $msg = $fileitem Then
    $file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
    If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
    EndIf
    If $msg = $viewstatusitem Then
    If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
    GUICtrlSetState($statuslabel, $GUI_HIDE)
    Else
    GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
    GUICtrlSetState($statuslabel, $GUI_SHOW)
    EndIf
    EndIf
    If $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton Or $msg = $exititem Then ExitLoop
    If $msg = $infoitem Then MsgBox(0, "Info", "Only a test...")
    WEnd
    GUIDelete()
    EndFunc ;==>Example

    [/autoit]

    PS.: selbst Leute die bereit sind dir zu helfen werden es so nicht schaffen, da der Link nicht funktioniert (kein Skript)

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (15. Januar 2011 um 18:59)

  • Hallo aflakes,

    mach es so dann klappt es:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ScreenCapture.au3>
    #include <GDIPlus.au3>
    #RequireAdmin
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("screen by aflakes", 260, 80, 959, 1)
    $screen = GUICtrlCreateButton("screen", 16, 32, 89, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("´Klick", 136, 15, 50, 30)
    $Label2 = GUICtrlCreateLabel("letzer screen:", 64, 8, 67, 17)
    $menu = GUICtrlCreateMenu("Menue")
    $menuitem = GUICtrlCreateMenuItem("Always on top", $menu)
    GUICtrlSetState($menuitem, $GUI_CHECKED)

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

    GUISetState(@SW_SHOW)

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

    #endregion ### END Koda GUI section ###
    Sleep(555)
    WinSetOnTop("[ACTIVE]", "", 1)
    MsgBox(0, "screen", "bilder werden gespeichert unter:" & @CRLF & "C:/Users/username/dokumente/bildname")

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

    While 1

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $screen
    GUICtrlSetData($Label1, @HOUR & ":" & @MIN & ":" & @SEC)
    _Main()
    Case $menuitem
    If BitAND(GUICtrlRead($menuitem), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($menuitem, $GUI_UNCHECKED)
    WinSetOnTop("[ACTIVE]", "", 0)
    Else
    GUICtrlSetState($menuitem, $GUI_CHECKED)
    WinSetOnTop("[ACTIVE]", "", 1)
    EndIf
    EndSwitch
    WEnd

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

    Func _Main()
    Local $hBmp
    ; Capture full screen
    $hBmp = _ScreenCapture_Capture()
    $input = InputBox("filename", "bitte bildname eingeben")
    ; Save bitmap to file
    _ScreenCapture_SaveImage(@MyDocumentsDir & "\" & $input & ".bmp", $hBmp)
    EndFunc ;==>_Main

    [/autoit]

    die func muss ausserhalb der While..Wend Schleife erstellt werden,

    mfg autoBert

  • achsoo
    danke autoBert

    jtezt funzt es auch endlich :D
    ich pack ncoh nen

    DirCreate(@MyDocumentsDir & '\screenbilder by aflakes')
    rein dann hat des script auch nen extra ordner thx