Beiträge von Greenhorn

    Hallo Schadi,


    vielleicht liegt es an WinActivate


    Probiere es doch einmal so:



    Wenn das auch nicht helfen sollte, dann vielleicht ein WinSetState ($dom, "", @SW_ENABLE) am Ende der Funktion Domizil.


    Beste Grüße

    Greenhorn


    Und was Ü-Std. betrifft, muss ich echt lernen NEIN zu sagen. Aber wenn ich ehrlich bin, weiß ich nicht ob ich das hinbekomme.

    Aus eigener Erfahrung kann ich Dir nur empfehlen, dass Du das auf die Kette bringen solltest.

    Wenn Du erstmal einen fetten Burn-out hast, ist es zu womöglich zu spät. Und danken wird es Dir niemand, ganz im Gegenteil.


    Mir ging es genauso, konnte auch nie Nein sagen und hatte immer das Gefühl, dass ich zu wenig gemacht habe. Bis es dann irgendwann gekracht hat. Hinzu kam noch ein starker Vitamin-D und Magnesiummangel. Nachdem ich angefangen hatte beides zu supplementieren ging es langsam wieder besser. Bin aber nur durch Zufall darauf gekommen. Zum Glück.


    Arbeit gibt es immer, die Lebenszeit jedoch ist begrenzt und wird mit fortschreitendem Alter zunehmend kostbar.

    Sehr weise Worte, kann man nicht oft genug betonen.

    Leider geht der Trend immer mehr in die Richtung, dass Arbeitszeit und Freizeit miteinander verschmelzen, Stichwort 'Digitalisierung' oder 'Home-Office'. Auch hier ist der Burn-out vorprogrammiert.


    Beste Grüße

    Greenhorn

    Hallo BugFix,


    die WM_MOVING wird beim ziehen der Titelleiste gesendet und Du kannst über die RECT Struktur die Position des Fensters prüfen und ändern.

    WM_MOVING message


    Die WM_SIZING wird nur gesendet, wenn der Rahmen gezogen wird, bzw. die Größe geändert wird.


    Edit: Ich benutze meist die WM_WINDOWPOSCHANGING um die Fensterposition und -größe zu kontrollieren, aber cih denke die WM_MOVING ist in diesem Fall vllt besser geeignet.



    LG

    Greenhorn

    Hi,


    hier mal ein Ansatz:


    Den Rest musst Du Dir zusammenbasteln ...


    LG

    Greenhorn

    Hi, sorry, hatte damals nur flüchtig drübergeschaut und wollte auf den Konflikt zwischen Event-Mode und Nachrichtenschleife hinweisen.


    Wie auch immer, die anderen haben ja bereits erklärt wo der Wurm drin ist.


    So sollte es dann wirklich laufen:


    LG

    Greenhorn

    Moin,


    ist doch eigentlich ganz einfach.


    VG

    Greenhorn

    Wenn ich Dich richtig verstanden habe, dann suchst Du nach einem Weg die Breite des Fensterrahmens zu ermitteln um die Fensterposition ggf. anzupassen.

    Das Mitglied cxWindowBorders der WINDOWINFO Struktur sollte die (wirkliche) Breite des Fensterrahmens enthalten. ;)

    Hi Tweaky,


    in Deinem Beispielskript gibt es keinen String der nicht mit "IMG-" beginnt ... 8o


    Das hier funktioniert für mich:

    C
    #Region    ;************ Includes ************
    #include <Array.au3>
    #EndRegion ;************ Includes ************
    
    $sFileName = "MRU-987654321"&@CRLF&"IMG-1232343"&@CRLF&"ILG-369852147"&@CRLF&"imf-741852963"
    
    $aTest = StringRegExp($sFileName, "(?m)(?i)^(?!img-)\N*", 3)
    _ArrayDisplay($aTest)


    LG

    Greenhorn


    Edit und p.s.: Die Frage ist natürlich auch: Wie liegt der Teststring vor ? Getrennt durch Leerzeichen, Zeilenumbruch, et. ?

    Moin,


    habe nichts zum Testen, aber damit solltest Du ein wenig herumspielen ...



    Global Const $WM_PRINT = 0x0317
    Global Const $WM_PRINTCLIENT = 0x0318


    Global Const $PRF_CHECKVISIBLE = 0x00000001
    Global Const $PRF_NONCLIENT = 0x00000002
    Global Const $PRF_CLIENT = 0x00000004
    Global Const $PRF_ERASEBKGND = 0x00000008
    Global Const $PRF_CHILDREN = 0x00000010
    Global Const $PRF_OWNED = 0x00000020


    ; ...


    Local $hDC = _WinAPI_GetDC($GUI_Graph)
    Local $hMemDC = _WinAPI_CreateCompatibleDC($hDC)
    Local $memBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $GraphSizeX, $GraphSizeY)
    _WinAPI_ReleaseDC($hDC) ; richtig
    Local $hObj = _WinAPI_SelectObject($hMemDC, $memBitmap)
    ;~ _WinAPI_BitBlt($hMemDC, 0, 0, $GraphSizeX, $GraphSizeY, $hDC, 0, 0, $SRCCOPY)


    _SendMessage ($GUI_Graph, $WM_PRINT, $hMemDC, $PRF_CLIENT)


    $hBmp = _GDIPlus_BitmapCreateFromHBITMAP($memBitmap)
    _GDIPlus_ImageSaveToFile($hBmp, @ScriptDir &"\test.jpg")
    _WinAPI_DeleteDC($hMemDC)
    _WinAPI_DeleteObject($memBitmap)
    ;~ _WinAPI_DeleteDC($hDC) fehler!


    Edit: Nachrichtenkonstanten nachgetragen ...
    Edit 2: Fehlerbereinigung
    Edit 3: ...

    ... im editfeld geht das ganze ja leider nicht.
    notepad++ kann es ... wie löse ich das problem ?


    Warum sollte das nicht gehen ?


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


    Global $iWidth = 600
    Global $iHeight = 400


    Global $hGui = GUICreate("Test", $iWidth, $iHeight)
    Global $idEdit = GUICtrlCreateEdit ("", 0, 0, $iWidth, $iHeight)
    GUICtrlSetResizing ($idEdit, $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT)
    GUICtrlSetFont ($idEdit, 10.5, 400, 0, "Terminal")
    GUICtrlSetData ($idEdit, FileRead (".\bomb_ascii.txt"))
    GUICtrlSetState ($idEdit, $GUI_FOCUS)
    GUISetState()



    While GUIGetMsg() <> -3
    WEnd

    Das sollte eigentlich funktionieren ...
    ( ungetestet ! )


    #include <Constants.au3>



    $sKeyName = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"


    ;~ $sDownloads = RegRead ($sKeyName, "{374DE290-123F-4565-9164-39C4925E467B}")
    $sMyMusic = RegRead ($sKeyName, "MyMusic")
    $sMyPictures = RegRead ($sKeyName, "MyPictures")
    $sMyVideos = RegRead ($sKeyName, "MyVideos")
    $sPersonal = RegRead ($sKeyName, "Personal")


    ;~ RegWrite ($sKeyName, "{374DE290-123F-4565-9164-39C4925E467B}", "REG_EXPAND_SZ", "D:\Zielverzeichnis\Downloads")
    RegWrite ($sKeyName, "MyMusic", "REG_EXPAND_SZ", "D:\Zielverzeichnis\Music")
    RegWrite ($sKeyName, "MyPictures", "REG_EXPAND_SZ", "D:\Zielverzeichnis\Pictures")
    RegWrite ($sKeyName, "MyVideos", "REG_EXPAND_SZ", "D:\Zielverzeichnis\Videos")
    RegWrite ($sKeyName, "Personal", "REG_EXPAND_SZ", "D:\Zielverzeichnis\Documents")


    DirCreate ("D:\Zielverzeichnis\\")


    ;~ DirMove ($sDownloads, "D:\Zielverzeichnis\\", $FC_OVERWRITE)
    DirMove ($sMyMusic, "D:\Zielverzeichnis\\", $FC_OVERWRITE)
    DirMove ($sMyPictures, "D:\Zielverzeichnis\\", $FC_OVERWRITE)
    DirMove ($sMyVideos, "D:\Zielverzeichnis\\", $FC_OVERWRITE)
    DirMove ($sPersonal, "D:\Zielverzeichnis\\", $FC_OVERWRITE)


    Wenn Du die Quellordner selbst auch umbenennen möchtest, z.B. "Pictures" zu "Bilder", dann kann es sein, dass Du noch ein paar andere Registrierungseinträge für die Bibliotheken ändern musst.


    EDIT: Hat die Quelltextformatierung doch glatt die abschließenden Backslashes unterschlagen ...

    Global Const $SND_ASYNC = 0x01
    Global Const $SND_LOOP = 0x08



    PlaySound ("Windows Exclamation.wav", 0, BitOR($SND_LOOP, $SND_ASYNC))
    MsgBox (64, "Neues Fenster", "blablabla")
    PlaySound ("", 0, 0)



    Func PlaySound ($pszSound, $hmod, $fdwSound)


    Local $ret = DllCall ("Winmm.dll", "BOOL", "PlaySoundW", "wstr", $pszSound, "HANDLE", $hmod, "DWORD", $fdwSound)
    Return $ret[0]


    EndFunc


    Grüße
    Greenhorn


    ... habe ich auch schon versucht hat leider nichts genützt :/ geht so mit nur langsamer hoch aber verhält sich trozdem steigend


    Dann hast Du evtl. irgendwo einen Teil übersehen.
    Auf jeden Fall musst Du die Ressourcen mit _LEDTXT_Destroy wieder freigeben, bevor Du mit _LEDTXT_Create_Gdi(Plus) neue Ressourcen anforderst.



    hatte auch versucht mit GUIDelete das komplette gui zu löschen und danach neu zu erstellen aber da habe ich dann andere Probleme ...


    Das wird nichts bringen, da die Ressourcen nicht mit AutoIt-eigenen Funktionen angefordert wurden.


    Führe Dein Skript doch einmal ohne die LED... Funktionen aus, und beobachte, ob es wirklich an den Funktionen liegt. Vielleicht liegt der Hase ganz woanders im Pfeffer ... ;)



    Gruß
    Greenhorn

    Hi BigRox,


    zuerst einmal: Ja, die 3er Version ist einfach nur Kacke.


    Das Problem liegt natürlich an SciTE. Wenn Du den Dialog mit "Ja" ( Speichern ) abnickst scheint SciTE erst ein Return auf die WM_QUERYENDSESSION zu geben und dann erst zu versuchen die Datei zu speichern.


    Am besten mal im EN Forum Jos darauf ansprechen ...



    Grüße
    Greenhorn

    Die WinCon.inc ist nicht im Ms SDK enthalten. Diese Datei ist für Assembler gedacht und gemacht.


    Ein Array aus Strukturen machst Du ganz einfach so:


    Global Const $tagKEYEVENTREC = "bool bKeyDown;word wRepeatCount; word wVirtualKeyCode; word wVirtualScanCode; wchar UnicodeChar; dword dwKontrolKeyState;"
    Global Const $tagINPUT_RECORD = "align 4;WORD evtyp;" & $tagKEYEVENTREC


    Global $tInp = DllStructCreate($tagINPUT_RECORD&$tagINPUT_RECORD) ; Array mit zwei Elementen


    Aber eigentlich sollte auch eine einfache Struktur ausreichen.


    Zitat

    Die betroffene Routine ist in dem Post über deinem ;-))


    Ich dachte da eher an ein ausführbares Beispiel ;)


    Grüße
    Greenhorn