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

Beiträge von Greenhorn

  • "Fn" - Taste kann leider nicht simuliert werden

    • Greenhorn
    • 14. Januar 2012 um 11:28

    Hi,

    Du könntest höchstens versuchen alternativ "CTRL+ALT+F(n)" zu senden, wenn es ein Notebook ist.
    Laut Wikipediafunktioniert das aber nur wenn eine externe Tastatur ohne Fn-Taste angeschlossen ist.

    Die Fn-Taste allein wird nicht an das Betriebssystem gesendet, sondern nur in Kombination mit einer der F-Tasten.
    Das läuft auf Treiberebene ab.
    Wenn Du ein Keyboard-Hook-Programm hättest, mit dem Du den Scancode der gedrückten Tasten auslesen könntest, dann könntest Du versuchen diesen zu Senden.
    Das geht aber nicht mit AutoIt, glaube ich.
    Mit AutoHotKey aber schon.


    Gruß
    Greenhorn

  • Png, Jpg in Menü einfügen?

    • Greenhorn
    • 7. Januar 2012 um 17:41

    Moin,

    zunächst muss ich Andy Recht geben. Pengs, Pongs, Jpegs usw. machen in Win32-Anwendungen keinen Sinn, das ist etwas für Web-Programmierung.
    EDIT: (Es sei denn man möchte eine Anwendung zur Bildbearbeitung erstellen)

    Zitat von Julien

    Zusätzlich möchte ich mein Bild erst nach dem Text stehen haben.


    Da bleiben dir zwei Möglichkeiten: Entweder den Menüelementen das Ownerdraw-Flag (MFT_OWNERDRAW) verpassen und diese dann selbst zeichnen. Oder die Menüelemente als Bitmap erstellen (Text und Symbol) und den Menüelementen das Bitmap-Flag (MFT_BITMAP) mitgeben.


    Gruß
    Greenhorn

  • Bilder als Buttons bei GDI+ Hintergrund Bild + Hover

    • Greenhorn
    • 7. Januar 2012 um 05:40

    Moin Freaky,

    was die Schaltfläche betrifft:

    [autoit]

    _CreateButton ($iImagePfad & "start_1.png",$iImagePfad & "start_1.png",100,100)

    [/autoit]

    Und der eingebettete IE ist bei mir ganz normal zu sehen ...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include <GuiButton.au3>

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

    Global $hGUI, $hImage, $hGraphic, $hImage
    Global $iImagePfad = @ScriptDir & "\Bilder\", $i

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

    Global Const $STM_SETIMAGE = 0x0172
    Global Const $SC_DRAGMOVE = 0xF012

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

    _GDIPlus_StartUp()
    $hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
    ;~ $hImage_Pic1 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_2.png")
    ;~ $hImage_Pic2 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_1.png")

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

    $iWidth = _GDIPlus_ImageGetWidth($hImage)
    $iHeight = _GDIPlus_ImageGetHeight($hImage)

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

    $hHBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    ;~ $hHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic1)
    ;~ $hHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic2)

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

    $oIE=_IECreateEmbedded()

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

    ; Create GUI
    $hGUI = GUICreate("Test", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
    $idBackgroundPic = GUICtrlCreatePic("", 0, 0, $iWidth, $iHeight)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    GUICtrlCreateObj ($oIE,50,200,150,150)
    _IENavigate($oIE, 'http://google.de')

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

    ;~ $idPic = GUICtrlCreatePic("",50,50,126,38)
    $iButton = _CreateButton ($iImagePfad & "start_1.png",$iImagePfad & "start_1.png",100,100)
    GUICtrlSendMsg($idBackgroundPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBMP)

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

    SetTransparentBitmap($hGUI, $hImage)
    GUISetState(@SW_SHOW, $hGUI)

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

    GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")

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

    $isHover = False
    $mem = True

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $iButton[1]
    ContinueCase
    Case $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch
    $aCoord = GUIGetCursorInfo($hGUI)
    ToolTip ($aCoord[4],0,0)
    If $aCoord[4] = $iButton[1] Then
    If Not $isHover Then
    GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[2])
    $isHover = True
    $mem = True
    EndIf
    Else
    If $mem Then
    GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[3])
    $mem = False
    $isHover = False
    EndIf
    EndIf

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

    WEnd

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

    ; Clean up resources
    _GDIPlus_ImageDispose($hImage)
    ;~ _GDIPlus_ImageDispose($hImage_Pic1)
    ;~ _GDIPlus_ImageDispose($hImage_Pic2)
    _WinAPI_DeleteObject($hHBMP)
    _WinAPI_DeleteObject($iButton[2])
    _WinAPI_DeleteObject($iButton[3])
    _GDIPlus_ShutDown()
    Exit

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

    Func _CreateButton ($iPicture1, $iPicture2, $iX, $iY)

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

    Local $bImage_Pic1, $bImage_Pic2
    Local $bHBMP_Pic1, $bHBMP_Pic2
    Local $bWidth, $bHeight, $bPicture

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

    $bImage_Pic1 = _GDIPlus_ImageLoadFromFile($iPicture1)
    $bImage_Pic2 = _GDIPlus_ImageLoadFromFile($iPicture2)

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

    $bHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic1)
    $bHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic2)

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

    $bWidth = _GDIPlus_ImageGetWidth($bImage_Pic1)
    $bHeight = _GDIPlus_ImageGetHeight($bImage_Pic1)

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

    $bPicture = GUICtrlCreatePic("",$iX,$iY,$bWidth,$bHeight)

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

    Local $bReturn[5] = [3,$bPicture,$bHBMP_Pic1,$bHBMP_Pic2]
    Return $bReturn
    EndFunc

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

    Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndFunc ;==>_WM_LBUTTONDOWN

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

    Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetBitmap

    [/autoit]


    Gruß
    Greenhorn

  • GUICtrlCreatePic mit GUICtrlSetPos vergrössern ---> Bild verpixelt Workaround?

    • Greenhorn
    • 3. Januar 2012 um 23:08

    Hi,

    nicht verzweifeln, immer wieder die Doku lesen, ob man nicht irgendetwas übersehen hat.

    Zitat von _GDIPlus_BitmapCreateFromFile

    Bemerkungen

    Wenn das Bitmap-Objekt nicht mehr benötigt wird, ist _GDIPlus_BitmapDispose aufzurufen, um die Ressourcen wieder freizugeben


    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <GDIPlus.au3>

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

    _GDIPlus_Startup() ; diese Zeile auskomentieren

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

    Global $hwnd = GUICreate("My GUI picture", 350, 300, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
    Global $n = GUICtrlCreatePic("C:\Program Files (x86)\AutoIt3\Examples\GUI\mslogo.jpg", 50, 50, 100, 12)
    ;~ GUICtrlSetOnEvent($n, "big")
    GUISetState()

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

    While (TRUE)
    Switch (GUIGetMsg (FALSE))
    Case $n
    Big ( )
    Case $GUI_EVENT_CLOSE
    GUIDelete($hwnd)
    _GDIPlus_Shutdown ( )
    ExitLoop
    EndSwitch
    WEnd

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

    Func Big( )

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

    ;~ $AlbumArtWidth = 255 ;diese beiden einfügen
    ;~ $AlbumArtHeight = 40 ;dann gehts

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

    $hGDIPlusAlbumArtBitmap = _GDIPlus_BitmapCreateFromFile("C:\Program Files (x86)\AutoIt3\Examples\GUI\mslogo.jpg")
    $AlbumArtWidth = _GDIPlus_ImageGetWidth($hGDIPlusAlbumArtBitmap)
    $AlbumArtHeight = _GDIPlus_ImageGetHeight($hGDIPlusAlbumArtBitmap)
    _GDIPlus_BitmapDispose ($hGDIPlusAlbumArtBitmap)

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

    GUICtrlSetPos($n, 50, 50, $AlbumArtWidth, $AlbumArtHeight)
    GUICtrlSetImage($n, "C:\Program Files (x86)\AutoIt3\Examples\GUI\mslogo.jpg")
    EndFunc ;==>Big

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

    Gruß
    Greenhorn

  • Decode Produktkey 64 Bit oder Server 2008

    • Greenhorn
    • 23. Dezember 2011 um 19:15

    Ja, die funktioniert. Für 64bit Systeme. Müsste man noch etwas anpassen für 32/64bit Kompatibilität ...


    Gruß
    Greenhorn

  • Decode Produktkey 64 Bit oder Server 2008

    • Greenhorn
    • 23. Dezember 2011 um 18:17

    Bei mir funktioniert es, der Algorithmus scheint aber nicht mehr zu stimmen. Bei mir wird ein falscher Productkey angezeigt.


    Gruß
    Greenhorn

  • Bilder als Buttons bei GDI+ Hintergrund Bild + Hover

    • Greenhorn
    • 21. Dezember 2011 um 12:46

    Hi Freaky,

    versuche mal das hier einzubauen (ungetestet):

    Spoiler anzeigen
    [autoit]

    GUIRegisterMsg ($WM_MOUSEMOVE, "OnMouseMove")
    GUIRegisterMsg ($WM_MOUSEHOVER, "OnMouseHover")
    GUIRegisterMsg ($WM_MOUSELEAVE, "OnMouseLeave")

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

    ; ...

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

    Func OnMouseMove ($hwnd, $message, $wParam, $lParam)

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

    If ($hwnd == $iButton2) Then

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

    $tme = DllStructCreate ("DWORD cbSize; DWORD dwFlags; HWND hwndTrack; DWORD dwHoverTime;")
    DllStructSetData ($tme, "cbSize", DllStructGetSize ($tme))
    DllStructSetData ($tme, "dwFlags", BitOR (0x00000001, 0x00000002))
    DllStructSetData ($tme, "hwndTrack", $iButton2)
    DllStructSetData ($tme, "dwHoverTime", 50)

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

    DllCall ("user32.dll", "BOOL", "TrackMouseEvent", "ptr", DllStructGetPtr ($tme))

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

    EndIf

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

    Return $GUI_RUNDEFMSG

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

    EndFunc

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

    Func OnMouseHover ($hwnd, $message, $wParam, $lParam)

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

    If ($hwnd == $iButton2) Then

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

    ConsoleWrite (StringFormat ("+> WM_MOUSEHOVER\n"))

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

    EndIf

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

    Return $GUI_RUNDEFMSG

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

    EndFunc

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

    Func OnMouseLeave ($hwnd, $message, $wParam, $lParam)

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

    If ($hwnd == $iButton2) Then

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

    ConsoleWrite (StringFormat ("-> WM_MOUSELEAVE\n"))

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

    EndIf

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

    Return $GUI_RUNDEFMSG

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

    EndFunc

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


    Gruß
    Greenhorn

  • Stream mit BASS_SAMPLE_3D Flag gibt unbekannten Fehler zurück

    • Greenhorn
    • 19. Dezember 2011 um 10:55

    Moin,

    außerdem würde ich, wie bereits erwähnt, den ersten Parameter korrekt angeben.
    Auch wenn es so funktionieren mag.

    Code
    HSTREAM stream = BASS_StreamCreateFile (FALSE, "audio\\test.wav", 0, 0, BASS_SAMPLE_3D | BASS_STREAM_AUTOFREE | BASS_SAMPLE_MONO) ;


    Gruß
    Greenhorn

  • Bauzeichnung

    • Greenhorn
    • 18. Dezember 2011 um 13:33

    Moin Alina,

    habe keine Erfahrung mit solchen Programmen. War aber neulich auch auf der Suche danach, da ich evtl. Fertigparkett verlegen möchte ...

    Raumplaner:
    Sweet Home 3D 3.3
    oder
    pCon.planner 6.4

    Ich habe das Programm selbst noch nicht ausprobiert und weiß jetzt nicht, ob die Einrichtungsgegenstände auch bemaßt werden.
    Dafür könntest Du ein CAD-Programm nehmen.

    Div. kostenlose CAD-Programme


    Wenn Du mit dem Zimmer für Dein Töchterchen fertig bist, kannst Du anschließend gleich bei mir weiter machen ... ;):)


    Gruß
    Greenhorn

  • Stream mit BASS_SAMPLE_3D Flag gibt unbekannten Fehler zurück

    • Greenhorn
    • 18. Dezember 2011 um 12:57

    Moin,

    ich tippe mal auf den ersten Parameter von BASS_StreamCreateFile.

    Der Datentyp BOOL ist etwas anderes als bool.
    BOOL ist 32bit und bool nur 8bit !
    Eigentlich müsste der Compiler hier schon meckern.

    Ansonsten wüsste ich jetzt auch nicht, welch anderes mysteriöse Problem aufgekommen sein könnte.
    Dateipfad stimmt ?


    Gruß
    Greenhorn

  • Happy Birthday "AutoIt.de"

    • Greenhorn
    • 7. Dezember 2011 um 17:16

    Na, dann werde ich mal wieder ...

    Herzlichen Glückwunsch "AutoIt.de" !

    Sechs Jahre gibt es dieses Forum nun und kein bisschen leiser. :)

    Wie im letzten Jahr gibt es einen schönen Blumenstrauss.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Macht weiter so und bleibt uns allen erhalten so wie ihr seid.


    Lieben Gruß
    Greenhorn

    Bilder

    • flowers.gif
      • 5,91 kB
      • 40 × 40
  • im Explorer markierte Datei - in GUI anzeigen

    • Greenhorn
    • 7. Dezember 2011 um 02:50

    Moin Tweaky,

    das hier sieht vielversprechend aus:
    Markierte Dateien im Explorer-Fenster ermitteln

    Musste Dir halt nur in AutoIt übersetzen ... ;)


    Gruß
    Greenhorn

  • Font aus Ressource?

    • Greenhorn
    • 5. Dezember 2011 um 08:26

    Hi,

    der Ablauf ist im Groben dieser:

    [autoit]

    Global $RT_FONT = 8 ; Font in RT_FONT den Ressourcen hinzufügen !
    Global $IDR_FONT = 101 ; $IDR_FONT ist der Identifizierer der Font-Ressource, hier z.B. 101

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

    $cnFonts = DllStructCreate ("DWORD")
    $hResrc = FindResource (0, $IDR_FONT, $RT_FONT)
    $dwLength = SizeofResource (0, $hResrc)
    $hMemRes = LoadResource (0, $hResrc)
    $lpvData = LockResource ($hMemRes)
    $hResFont = AddFontMemResourceEx ($lpvData, $dwLength, 0, DllStructGetPtr ($cnFonts))

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

    $hFont = CreateFont ("FontName", ...)

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

    ; Font benutzen ...

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

    ; Wenn Font nicht mehr benötigt wird

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

    DeleteObject ($hFont) ; Nicht vergessen !
    RemoveFontMemResourceEx ($hResFont) ; Nicht vergessen !

    [/autoit]


    Gruß
    Greenhorn

  • Happy Birthday pee, funkey und Co.

    • Greenhorn
    • 4. Dezember 2011 um 20:07

    Herzliche Glückwünsche und genießt den Tag. :)
    Und einen schönen zweiten Advent.


    Gruß
    Greenhorn

  • Die Gänsefüsschen - mal wieder

    • Greenhorn
    • 2. Dezember 2011 um 20:50

    Hi,

    liegt es vllt daran ?

    [autoit]

    ...application /d "Used Parameter' & $Parameter

    [/autoit]


    Ich finde dort kein abschliessendes ".


    Gruß
    Greenhorn

  • Button nicht klickbar

    • Greenhorn
    • 2. Dezember 2011 um 09:21

    Vielleicht lag es daran, dass $hWndList nicht deklariert war ?

    Naja, nun scheint es ja zu laufen ... ;)


    Gruß
    Greenhorn

  • Werte in die Registratur aus einer *.ini schreiben

    • Greenhorn
    • 2. Dezember 2011 um 09:17

    Probiere es mal bitte mit For $i = 1 To ...


    Gruß

  • Variablen von Function in andere Function übergeben?

    • Greenhorn
    • 2. Dezember 2011 um 09:13
    Zitat von cupra-turbo

    wo genau muss der obere Teil dann platziert werden? in der Startfunction die vom Button angestoßen wird oder in der Function check_5 die dann die eigentlichen Eingaben durchführt?

    Ich würde im Moment sagen in der Startfunktion?

    Habe es mir jetzt nicht ganz genau angesehen, aber grob würde ich sagen ja. ;)

    Gruß

  • Button nicht klickbar

    • Greenhorn
    • 2. Dezember 2011 um 09:10

    Hi,

    das meinte ich mit:

    Zitat

    Wobei Du schon am Anfang prüfen solltest ob $hList ein gültiges Handle ist.
    Wenn GUICtrlGetHandle($programmliste) das erste mal schon fehl schlägt, warum sollte es beim zweiten mal funktionieren ?

    Sorry, undeutlich ausgedrückt. :)


    Gruß
    Greenhorn

  • Comspec - Commandline .exe mit Parametern

    • Greenhorn
    • 2. Dezember 2011 um 09:08

    Moin,

    wie soll er denn den Rückgabewert ausgeben, wenn das Programm noch gar nicht fertig ist ?
    Entweder RunWait/ShellExecuteWait, dann ist aber nichts mit StdoutRead.
    Oder Run/ShellExecute, dann ist aber nichts mit Exitcode.


    Gruß
    Greenhorn

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™