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

  • Word Title unvollständig.

    • funkey
    • 1. Dezember 2011 um 12:34

    Du brauchst

    [autoit]

    Opt("WinTitleMatchMode", 2)

    [/autoit]
  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • funkey
    • 1. Dezember 2011 um 08:28

    Hallo Jarmado!
    Es freut mich, dass du die UDF nutzen könntest. :thumbup:
    Ich habe leider nicht wirklich viel Error-Handling bei den Funktionen betrieben. Ich weiß aber auch immer welche DBs es auf der SPS gibt. Außerdem gibt es dazu die Funktion _daveListBlocksOfType().
    Die angehängte UDF ist auch bei weitem nicht mehr die aktuellste, aber wenn alles funktioniert, dann reicht das ja.

    Viel Spaß auch weiterhin damit!

  • Wait (Sanduhr)

    • funkey
    • 30. November 2011 um 21:04

    Achja, ich dachte das geht nur bei der eigenen Gui!
    Aber wenn das Programmfenster, das die Auslastung erzeugt nicht aktiv ist, dann nützt das ja auch nicht viel (außer man bastelt drum herum).

  • Wait (Sanduhr)

    • funkey
    • 30. November 2011 um 20:13

    Nicht dass ich wüßte!
    Aber es gibt Funktionen um die CPU-Last auszulesen, und dann kanst du z.B mit 50% vergleichen, darüber pausieren und darunter fortfahren.

  • Der_Doc und BugFix haben Geburtstag

    • funkey
    • 28. November 2011 um 09:05

    Alles Gute ihr beiden!
    Vielen Dank, dass ihr so tüchtig hier im Forum mitarbeitet.

  • Raupi - alles Gute zum Geburtstag!

    • funkey
    • 26. November 2011 um 15:57

    Das gibt's ja nicht!!
    Jetzt ist der schon wieder ein Jahr älter geworden!!

    Also dann, alles Gute!! Bleib gesund!!

    http://www.youtube.com/watch?v=7LBZ3lMbWoY

  • _GuiCtrlSetPath

    • funkey
    • 24. November 2011 um 16:44

    Gut zu wissen, aber so kann sie jetzt jeder und vor allem einfacher verwenden.

  • _GuiCtrlSetPath

    • funkey
    • 24. November 2011 um 16:24

    Danke! :D
    Hab noch einen überflüssigen WINAPI-Aufruf eliminiert (damit es noch schneller wird :rolleyes: )

  • _GuiCtrlSetPath

    • funkey
    • 24. November 2011 um 16:11

    Danke!
    Hatte das schon mal für meinen CSV-Editor gebraucht und damals die gleiche Lösung wie Oscar gefunden. Nun habe ich einen besseren Weg gefunden.

    Hab die Funktion noch umbenannt, weil das ja nicht nur für Labels passt.

  • _GuiCtrlSetPath

    • funkey
    • 24. November 2011 um 15:30

    Da das Thema gerade aktuell ist (_FilePathTrimToLabelWidth), hab ich mal MSDN befragt wie man das macht und bin auf folgende Lösung gekommen:

    Spoiler anzeigen
    [autoit]


    #include <WinAPI.au3>

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

    Global $hGui = GUICreate('_GuiCtrlSetPath by funkey', 600, 200)
    Global $nPath1 = GUICtrlCreateLabel('', 10, 10, 300, 50)
    GUICtrlSetBkColor(-1, 0xCCCCCC)
    GUICtrlSetFont(-1, 30)
    _GuiCtrlSetPath($nPath1, "C:\path1\path2\sample.txt")

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

    Global $nPath2 = GUICtrlCreateLabel('', 10, 80, 580, 60)
    GUICtrlSetBkColor(-1, 0xCCCCCC)
    GUICtrlSetFont(-1, 40)
    _GuiCtrlSetPath($nPath2, "C:\path1\path2\sample.txt")

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

    GUICtrlCreateInput("", 10, 150, 200, 20)
    _GuiCtrlSetPath(-1, "C:\path1\path2\path3\path4\path5\path6\sample.txt", 4)

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

    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

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

    Func _GuiCtrlSetPath($nID, $sPath, $iFit = 0)
    ;coded by funkey
    ;2011, Nov 24th
    Local $hCtrl = GUICtrlGetHandle($nID)

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

    Local $hDC = _WinAPI_GetDC($hCtrl)
    Local $tPath = DllStructCreate("char[260]")
    Local $pPath = DllStructGetPtr($tPath)
    DllStructSetData($tPath, 1, $sPath)

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

    Local $hFont = _SendMessage($hCtrl, 49, 0, 0, 0, "wparam", "lparam", "hwnd") ;WM_GETFONT
    Local $hFont_old = _WinAPI_SelectObject($hDC, $hFont)

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

    Local $aPos = ControlGetPos($hCtrl, "", "")

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

    DllCall("Shlwapi.dll", "BOOL", "PathCompactPath", "handle", $hDC, "ptr", $pPath, "int", $aPos[2] - $iFit)

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

    _WinAPI_SelectObject($hDC, $hFont_old)
    _WinAPI_DeleteDC($hDC)

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

    GUICtrlSetData($nID, DllStructGetData($tPath, 1))
    Return DllStructGetData($tPath, 1)
    EndFunc ;==>_GuiCtrlSetPath

    [/autoit]

    Edit: Funktionsnamen geändert und ein wenig erweitert. Das ganze funktioniert ja nicht nur bei Labeln

  • Ressourcencontainer

    • funkey
    • 17. November 2011 um 19:44

    Nettes Skript,
    aber ich finde DLLs immer noch am praktischsten und am kompatibelsten.
    Über _WinAPI_BeginUpdateResource, _WinAPI_UpdateResource und _WinAPI_EndUpdateResource können auch relativ einfach Resourcen einer PE-Datei (DLL, EXE) gelöscht, geändert oder hinzugefügt werden.

  • Wie Windows Icons abfangen?

    • funkey
    • 17. November 2011 um 16:45

    Freut mich, das du es geschafft hast!!
    Das 4. Icon brauchst du anscheinend nicht.

  • Wie Windows Icons abfangen?

    • funkey
    • 17. November 2011 um 12:44

    Meine Funktion scheint nur bis WinXP zu funktionieren. Ab Vista wurden die MsgBoxen anscheinend umgebaut, so dass die Icons immer neu geladen werden.
    Den nächsten Lösungsvorschlag (immer noch nicht mit Pixelsearch!) hätte ich mit der Funktion _WinAPI_GetIconInfoEx aus der WinAPIEx-UDF.
    Da wird ein Array zurückgegeben, und das 6. Element ([5]) gibt die ID des geladenen Icons in dem jeweiligen Modul zurück. Da kannst du die 4 Zahlen dann wieder unterscheiden.

  • Wie Windows Icons abfangen?

    • funkey
    • 16. November 2011 um 19:57

    Hab mal was gebastelt, sollte besser sein als Pixelsearch.

    [autoit]

    #Include <WinAPI.au3>

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

    $sIcon = _GetIconFromMsgBox("Titel oder Handle der MsgBox")
    ConsoleWrite($sIcon & @CR)

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

    Func _GetIconFromMsgBox($hMsgBox)
    Local $sRet
    Local Const $STM_GETICON = 369

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

    Local $hCtrl = ControlGetHandle($hMsgBox, "", "Static1")
    Local $hIcon = _SendMessage($hCtrl, $STM_GETICON, 0, 0, 0, "wparam", "lparam", "hwnd")

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

    Switch $hIcon
    Case _WinAPI_LoadIcon(0, 32513) ;$IDI_ERROR
    Return "Stop-sign icon"
    Case _WinAPI_LoadIcon(0, 32514) ;$IDI_QUESTION
    Return "Question-mark icon"
    Case _WinAPI_LoadIcon(0, 32515) ;$IDI_EXCLAMATION
    Return "Exclamation-point icon"
    Case _WinAPI_LoadIcon(0, 32516) ;$IDI_INFORMATION
    Return "Information-sign icon"
    EndSwitch
    Return "icon not found"
    EndFunc

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

    Func _WinAPI_LoadIcon($hInstance, $icon)
    Local $aIcon = DllCall("user32.dll", "hwnd", "LoadIcon", "hwnd", $hInstance, "int", $icon)
    Return $aIcon[0]
    EndFunc

    [/autoit]
  • Gui - Button mit Hotkey bedienen

    • funkey
    • 16. November 2011 um 17:37

    Einfach Button-Text "&OK" verwenden für ALT+o , oder "A&bbrechen" für ALT+b.

  • Alles Gute Xenobiologist

    • funkey
    • 12. November 2011 um 01:15

    Alles Gute zum 32.Geburtstag Xenobiologist!!
    Viel Glück und Gesundheit, bleib so wie du bist.

    [Blockierte Grafik: http://img11.imageshack.us/img11/7720/glitter15.gif]

  • Script anhalten, bis eine MsgBox existiert

    • funkey
    • 11. November 2011 um 22:42

    Wie wäre es so?

    Spoiler anzeigen
    [autoit]

    #Include <WinAPI.au3>
    #include <Constants.au3>

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

    _ProcessWaitProgress("iexplore.exe")

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

    Func _ProcessWaitProgress($sProcess)
    Local Const $WM_USER = 0x0400
    Local Const $PBM_SETMARQUEE = ($WM_USER + 10)
    Local Const $PBS_MARQUEE = 0x8
    ProgressOn("Warten auf Prozess", "Warten bis " & $sProcess & " existiert")
    Local $hWnd = WinWait("Warten auf Prozess")
    Local $hProgress = ControlGetHandle($hWnd, "", "msctls_progress321")
    _WinAPI_SetWindowLong($hProgress, $GWL_STYLE, BitOR(_WinAPI_GetWindowLong($hProgress, $GWL_STYLE), $PBS_MARQUEE))
    _SendMessage($hProgress, $PBM_SETMARQUEE, 1, 0)
    Do
    Sleep(10)
    Until ProcessExists($sProcess)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Prozessliste in Combobox laden mit Icons

    • funkey
    • 5. November 2011 um 12:49

    RapIt: Dreimal darfst du raten welche Icons er will!
    Natürlich die Icons der jeweiligen Exe-Datei.

  • $ES_Number für Dezimalwerte

    • funkey
    • 5. November 2011 um 07:12

    Am besten du nimmst RestrictControlRegExp.au3! Diese UDF verwende ich nämlich genau für solche Fälle.

  • PDF horizontal scrollen

    • funkey
    • 31. Oktober 2011 um 12:06

    Probier mal mit Shift + Rechts.

    Edit: Oder so:

    [autoit]

    Opt("WinTitleMatchMode", 2)

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

    Global $hWnd = WinGetHandle("Adobe Reader")

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

    ControlSend($hWnd, "", "ScrollBar3", "{END}")
    ControlSend($hWnd, "", "ScrollBar4", "{END}")

    [/autoit]

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™