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. funkey

Beiträge von funkey

  • Daten an anderen PC im Netzwerk senden

    • funkey
    • 2. Mai 2012 um 16:55

    Die erste File Over TCP Funktion

  • MsgBox auf englisch

    • funkey
    • 28. April 2012 um 10:48

    Da ich immer noch nicht weiß, was bei dir nicht funktioniert, hab ich die Funktion nun universal einsetzbar gemacht. War eh leichter als ich dachte:

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>

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

    Opt("MustDeclareVars", 1)

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

    Global $hHookMsgBox

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

    _MsgBoxEnglish(0, "Title", "Text")
    _MsgBoxEnglish(1, "Title", "Text")
    _MsgBoxEnglish(2, "Title", "Text")
    _MsgBoxEnglish(3, "Title", "Text")
    _MsgBoxEnglish(4, "Title", "Text")
    _MsgBoxEnglish(5, "Title", "Text")
    _MsgBoxEnglish(6, "Title", "Text")
    _MsgBoxEnglish(7, "Title", "Text")

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

    #region English Button text for MsgBox!!
    ;##########################################################
    Func _MsgBoxEnglish($flag, $title, $text, $timeout = 0, $hwnd = 0)
    Local $hProcMsgBox = DllCallbackRegister("CbtHookProcMsgBox", "int", "int;int;int")
    Local $TIDMsgBox = _WinAPI_GetCurrentThreadId()
    $hHookMsgBox = _WinAPI_SetWindowsHookEx($WH_CBT, DllCallbackGetPtr($hProcMsgBox), 0, $TIDMsgBox)

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

    Local $iRet = MsgBox($flag, $title, $text, $timeout, $hwnd)

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

    _WinAPI_UnhookWindowsHookEx($hHookMsgBox)
    DllCallbackFree($hProcMsgBox)
    Return $iRet
    EndFunc ;==>_MsgBoxEnglish

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

    Func CbtHookProcMsgBox($nCode, $wParam, $lParam, $hHookMsgBox)
    Local $RET = 0, $hBitmap = 0, $xWnd = 0
    Local $sButtonText
    If $nCode < 0 Then
    $RET = _WinAPI_CallNextHookEx($hHookMsgBox, $nCode, $wParam, $lParam)
    Return $RET
    EndIf
    Switch $nCode
    Case 5 ;5=HCBT_ACTIVATE
    _WinAPI_SetDlgItemText($wParam, 1, "OK")
    _WinAPI_SetDlgItemText($wParam, 2, "Cancel")
    _WinAPI_SetDlgItemText($wParam, 3, "&Abort")
    _WinAPI_SetDlgItemText($wParam, 4, "&Retry")
    _WinAPI_SetDlgItemText($wParam, 5, "&Ignore")
    _WinAPI_SetDlgItemText($wParam, 6, "&Yes")
    _WinAPI_SetDlgItemText($wParam, 7, "&No")
    _WinAPI_SetDlgItemText($wParam, 8, "Help")
    _WinAPI_SetDlgItemText($wParam, 10, "&Try Again")
    _WinAPI_SetDlgItemText($wParam, 11, "&Continue")
    EndSwitch
    Return
    EndFunc ;==>CbtHookProcMsgBox

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

    Func _WinAPI_SetDlgItemText($hDlg, $nIDDlgItem, $lpString)
    Local $aRet = DllCall('user32.dll', "int", "SetDlgItemText", _
    "hwnd", $hDlg, _
    "int", $nIDDlgItem, _
    "str", $lpString)
    Return $aRet[0]
    EndFunc ;==>_WinAPI_SetDlgItemText
    ;##########################################################
    #endregion English Button text for MsgBox!!

    [/autoit]
  • Top-Funktion in Text oder Array

    • funkey
    • 28. April 2012 um 10:08

    Ich würde das die Array-Elemente in Integer umwandeln und _ArraySort() verwenden.

    [autoit]

    #include <Array.au3>

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

    Global $aGegeben[7] = ["20pt", "24pt", "20pt", "30pt", "20pt", "24pt", "200pt"]

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

    For $i = 0 To UBound($aGegeben) - 1
    $aGegeben[$i] = Int($aGegeben[$i])
    Next

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

    _ArraySort($aGegeben, 1)
    _ArrayDisplay($aGegeben)

    [/autoit]
  • MsgBox auf englisch

    • funkey
    • 27. April 2012 um 17:31

    Ich versteh dich nicht. Der letzte Parameter hat doch einen ganz anderen Grund!

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>

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

    Local $hGui = GUICreate("Test", 500, 500, 700, 100)
    GUISetState()

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

    Local $hProcMsgBox = DllCallbackRegister("CbtHookProcMsgBox", "int", "int;int;int")
    Local $TIDMsgBox = _WinAPI_GetCurrentThreadId()
    Local $hHookMsgBox = _WinAPI_SetWindowsHookEx($WH_CBT, DllCallbackGetPtr($hProcMsgBox), 0, $TIDMsgBox)

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

    Local $iRet = MsgBox(2, "Can't close with 'X'", "But you can activate the GUI")
    Local $iRet = MsgBox(6, "Can close with 'X'", "And you can activate the GUI")
    Local $iRet = MsgBox(6, "Can close with 'X'", "And you can NOT activate the GUI", 0, $hGui)

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

    _WinAPI_UnhookWindowsHookEx($hHookMsgBox)
    DllCallbackFree($hProcMsgBox)

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

    #region Just for fun!!
    ;##########################################################
    Func CbtHookProcMsgBox($nCode, $wParam, $lParam)
    Local $RET = 0, $hBitmap = 0, $xWnd = 0
    Local $sButtonText
    If $nCode < 0 Then
    $RET = _WinAPI_CallNextHookEx($hHookMsgBox, $nCode, $wParam, $lParam)
    Return $RET
    EndIf
    Switch $nCode
    Case 5 ;5=HCBT_ACTIVATE
    For $i = 3 To 5
    $sButtonText = _WinAPI_GetDlgItemText($wParam, $i)
    Switch $sButtonText
    Case "A&bbrechen"
    _WinAPI_SetDlgItemText($wParam, $i, "Abort")
    Case "Wieder&holen"
    _WinAPI_SetDlgItemText($wParam, $i, "Retry")
    Case "&Ignorieren"
    _WinAPI_SetDlgItemText($wParam, $i, "Ignore")
    EndSwitch
    Next
    EndSwitch
    Return
    EndFunc ;==>CbtHookProcMsgBox

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

    Func _WinAPI_SetDlgItemText($hDlg, $nIDDlgItem, $lpString)
    Local $aRet = DllCall('user32.dll', "int", "SetDlgItemText", _
    "hwnd", $hDlg, _
    "int", $nIDDlgItem, _
    "str", $lpString)
    Return $aRet[0]
    EndFunc ;==>_WinAPI_SetDlgItemText

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

    Func _WinAPI_GetDlgItemText($hDlg, $nIDDlgItem)
    Local $aRet = DllCall('user32.dll', "int", "GetDlgItemText", _
    "hwnd", $hDlg, _
    "int", $nIDDlgItem, _
    "str", "", _
    "int", 50)
    Return $aRet[3]
    EndFunc ;==>_WinAPI_GetDlgItemText

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

    ;##########################################################
    #endregion Just for fun!!

    [/autoit]
  • MsgBox auf englisch

    • funkey
    • 27. April 2012 um 16:56

    :rolleyes: Ich dachte du kommst selber drauf! Das hat mit dem Handle aber nichts zu tun!

    Spoiler anzeigen
    [autoit]

    MsgBox(1, "", "Die Buttons sind 'OK und Abbrechen'" & @CRLF & "Diese MsgBox kann ich über 'X' schließen")
    MsgBox(2, "", "Die Buttons sind 'Abbrechen , Wiederholen und Ignorieren'" & @CRLF & "Diese MsgBox kann ich nicht über 'X' schließen")
    MsgBox(3, "", "Die Buttons sind 'Ja, Nein und Abbrechen'" & @CRLF & "Diese MsgBox kann ich über 'X' schließen")
    MsgBox(4, "", "Die Buttons sind 'Ja und Nein'" & @CRLF & "Diese MsgBox kann ich nicht über 'X' schließen")
    MsgBox(5, "", "Die Buttons sind 'Wiederholen und Abbrechen'" & @CRLF & "Diese MsgBox kann ich über 'X' schließen")
    MsgBox(6, "", "Die Buttons sind 'Abbrechen , Wiederholen und Weiter'" & @CRLF & "Diese MsgBox kann ich über 'X' schließen")

    [/autoit]
  • MsgBox auf englisch

    • funkey
    • 15. April 2012 um 17:12
    Zitat von m-obi

    Also schonmal echt super name22 und funkey. Nur bei dem von funkey kann ich es mit dem X nicht schliessen. Ansonsten würde ich das doch gleich nehmen :thumbup:


    Dass man die MsgBox nicht schließen kann, liegt doch nur am Flag!!!
    Bedenke aber, mit meiner Methode musst du alle Strings für alle möglichen Sprachen im Skript mit einschließen, sonst funktioniert es auf z.B. einem brasilianischen WinXP nicht. Wenn du aber das Flag selber abfragst und dementsprechend weißt, was in den Buttons stehen soll, dann kannst du natürlich das Skript universaler gestalten.

  • MsgBox auf englisch

    • funkey
    • 14. April 2012 um 14:56

    Hab es nicht fertig ausprogrammiert, aber hier mal ein gangbarer Weg, um von deutsch nach englisch zu kommen:

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>

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

    Local $hProcMsgBox = DllCallbackRegister("CbtHookProcMsgBox", "int", "int;int;int")
    Local $TIDMsgBox = _WinAPI_GetCurrentThreadId()
    Local $hHookMsgBox = _WinAPI_SetWindowsHookEx($WH_CBT, DllCallbackGetPtr($hProcMsgBox), 0, $TIDMsgBox)

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

    Local $iRet = MsgBox(34, "Select example", "Please select the skin you want to try")

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

    _WinAPI_UnhookWindowsHookEx($hHookMsgBox)
    DllCallbackFree($hProcMsgBox)

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

    #region Just for fun!!
    ;##########################################################
    Func CbtHookProcMsgBox($nCode, $wParam, $lParam)
    Local $RET = 0, $hBitmap = 0, $xWnd = 0
    Local $sButtonText
    If $nCode < 0 Then
    $RET = _WinAPI_CallNextHookEx($hHookMsgBox, $nCode, $wParam, $lParam)
    Return $RET
    EndIf
    Switch $nCode
    Case 5 ;5=HCBT_ACTIVATE
    For $i = 3 To 5
    $sButtonText = _WinAPI_GetDlgItemText($wParam, $i)
    Switch $sButtonText
    Case "A&bbrechen"
    _WinAPI_SetDlgItemText($wParam, $i, "Abort")
    Case "Wieder&holen"
    _WinAPI_SetDlgItemText($wParam, $i, "Retry")
    Case "&Ignorieren"
    _WinAPI_SetDlgItemText($wParam, $i, "Ignore")
    EndSwitch
    Next
    EndSwitch
    Return
    EndFunc ;==>CbtHookProcMsgBox

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

    Func _WinAPI_SetDlgItemText($hDlg, $nIDDlgItem, $lpString)
    Local $aRet = DllCall('user32.dll', "int", "SetDlgItemText", _
    "hwnd", $hDlg, _
    "int", $nIDDlgItem, _
    "str", $lpString)
    Return $aRet[0]
    EndFunc ;==>_WinAPI_SetDlgItemText

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

    Func _WinAPI_GetDlgItemText($hDlg, $nIDDlgItem)
    Local $aRet = DllCall('user32.dll', "int", "GetDlgItemText", _
    "hwnd", $hDlg, _
    "int", $nIDDlgItem, _
    "str", "", _
    "int", 50)
    Return $aRet[3]
    EndFunc ;==>_WinAPI_GetDlgItemText

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

    ;##########################################################
    #endregion Just for fun!!

    [/autoit]
  • possibly used before declaration.

    • funkey
    • 11. April 2012 um 01:38

    Du hast in die 'inc.au3' einfach eine Funktion ausgelagert, in der Variablen vorhanden sind, die erst später erstellt werden.
    Du könntest die Datei erst includen, wenn es die Variablen gibt, oder besser, du übergibst der Funktion alle nötigen Variablen, sodass keine globalen Variablen mehr aufgerufen werden.

  • Schriftartauswahl

    • funkey
    • 10. April 2012 um 23:41

    http://www.autoitscript.com/forum/topic/86…post__p__621198

  • Midi Udf

    • funkey
    • 10. April 2012 um 22:25

    Im englischen Forum gibt es bereits eine MIDI-UDF (http://www.autoitscript.com/forum/topic/37…post__p__274785).
    Hab mir die Unterschiede der beiden UDFs aber nicht angeschaut.

    Auf jeden Fall kann man damit tolle Sachen machen!

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>

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

    Global $hWinmm_dll = DllOpen("winmm.dll")
    Global $open = _midiOutOpen(0)

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

    For $i = 27 To 87
    _midiOutShortMsg($open, 0x99 + ($i * 256) + (127 * 0x10000))
    Sleep(200)
    Next

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

    _midiOutClose($open)
    DllClose($hWinmm_dll)

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

    Func _midiOutOpen($devid = 0, $callback = 0, $instance = 0, $flags = 0)
    Local $ret = DllCall($hWinmm_dll, "long", "midiOutOpen", "uint*", 0, "int", $devid, "ptr", $callback, "ptr", $instance, "ptr", $flags)
    If Not @error Then
    Return $ret[1]
    Else
    Return SetError(1, 0, $ret[0])
    EndIf
    EndFunc ;==>_MidiOutOpen

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

    Func _midiOutClose($hmidiout)
    Local $ret = DllCall($hWinmm_dll, "long", "midiOutClose", "long", $hmidiout)
    If Not @error Then Return $ret[0]
    EndFunc ;==>_MidiOutClose

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

    Func _midiOutShortMsg($hmidiout, $msg)
    Local $ret = DllCall($hWinmm_dll, "long", "midiOutShortMsg", "ptr", $hmidiout, "dword", $msg)
    If Not @error Then Return $ret[0]
    EndFunc ;==>_MidiOutShortMsg

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Mit AutoIt ermitteln, ob exe für 64bit oder 32bit compiliert wurde

    • funkey
    • 4. April 2012 um 12:31

    Oder auch hiermit (ungetestet):
    http://www.autoitscript.com/forum/topic/13…ss-on-64bit-os/
    http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx

  • Juhu!

    • funkey
    • 4. April 2012 um 08:33

    Auch von mir noch alles Gute zur Geburt deines Sohnes! :thumbup:
    Auf die kommenden schlaflosen Nächte! ;)

  • StatusbarGetText

    • funkey
    • 2. April 2012 um 13:13

    Bilder kannst du hier im Forum direkt anhängen, aber du kannst auch z.B. abload.de verwenden um die Bilder hochzuladen.
    Außerdem würde auch der Text des Summary-Registers gleich gut weiterhelfen wie ein Screenshot.

  • Profifrage: AutoIT crasht mit meiner (selbstgemachten) C++ .dll

    • funkey
    • 30. März 2012 um 14:54

    Danke Sprenger, hab's jetzt installiert. (Nachdem ich das ganze mit Code:Blocks kompiliert und getestet habe und zu dem gleichen Ergebnis wie du gekommen bin.
    Komisch ist nur, dass auch ohne :cdecl die Funktion aufgerufen wurde und die DLL eine Ausgabe in die Scite Konsole machen konnte. Deswegen bin ich nicht gleich darauf gekommen.

  • Profifrage: AutoIT crasht mit meiner (selbstgemachten) C++ .dll

    • funkey
    • 30. März 2012 um 13:39

    Ich kann es leider nicht testen, da bei mir mind. MSVCP100D.dll fehlt.
    Was aber auffällt: In der DLL wurde 'char filename' deklariert und in AutoIt 'str'. Ich denke du brauchst 'char* ' oder 'LPCSTR' in der DLL.

  • Runder Butten?

    • funkey
    • 23. März 2012 um 17:59

    Hatte da auch mal was gebastelt: Runde Buttons

  • Progress als Slider

    • funkey
    • 13. März 2012 um 07:42

    Ich bin mir nicht sicher, ob die Animation überhaupt abgeschaltet werden kann. :(

  • Style umschalten

    • funkey
    • 12. März 2012 um 20:08

    Das dachte ich auch zuerst, ging aber nicht bei mir.
    Aber Greenhorn's und meine Variante funktionieren.

  • Style umschalten

    • funkey
    • 12. März 2012 um 19:21
    Spoiler anzeigen
    [autoit]

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

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

    $hGui = GUICreate("Gui", 260, 100, -1, -1, $WS_POPUP, $WS_EX_COMPOSITED)
    $hShow = GUICtrlCreateButton("einblenden", 45, 50, 150, 20)
    GUISetState()

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

    While 1
    $Msg = GUIGetMsg()

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

    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hShow
    GUISetStyle($GUI_SS_DEFAULT_GUI)
    $aPos = WinGetPos($hGui)
    $hRegn = _WinAPI_CreateRectRgn(0, 0, $aPos[2], $aPos[3])
    _WinAPI_SetWindowRgn($hGui, $hRegn)
    _WinAPI_RedrawWindow($hGui, 0, $hRegn, BitOR($RDW_INVALIDATE, $RDW_FRAME))
    EndSwitch
    WEnd

    [/autoit]
  • Hilfe - Autoit sieht komisch aus!!!

    • funkey
    • 3. März 2012 um 20:23

    :D
    [ gelöst ] SciTE-farben bei 3.3.8.0

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™