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

Beiträge von MrB

  • Email versenden

    • MrB
    • 13. März 2022 um 15:18

    Sorry das ich mich jetzt erst melde. WE war ein wenig stressig...

    Zitat von BananaJoe

    Denk über eine USV nach - und mach ggf. auf den Stecker einen Aufkleber.

    USV lohnt sich nicht wirklich für mich. Zettel ist dran... was soll ich sagen...

    Zitat von Schnuffel

    ich denke der Paramterer in Zeile 19 ist falsch. Da muss deine 1und1 email Adresse rein zur Authentifizierung am Server

    und mit $ssl in Zeile 24 würde ich "spielen" (0/1)

    In Zeile 19 steht doch meine Mail-Adresse

    Code
    $s_Username = "zentrale@online.de"
    Zitat von Schnuffel

    vielleicht liegt der Fehler ja im Script.

    Um das auszuschließen kann ich dir meine GUI anbieten.
    Die arbeitet auch mit der Funktion.

    Danke für die GUI. Schöner Ansatz! Bekomme da folgende Fehlermeldung:


    Zitat von Bitnugger

    Ich benutze _INetSmtpMailCom auch in einem meiner Scripte.

    So funktioniert es bei mir:

    $g_sSmtpServer = "securesmtp.t-online.de"

    $g_sFromName = "Max Mustermann <max.mustermann@t-online.de>"

    $g_sFromAddress = "max.mustermann@t-online.de"

    $g_sToAddress = "max.mustermann@t-online.de"

    $g_sSubject = "SendMail via AutoIt ;-)"

    $g_sBody = "Testmail gesendet von @MUSTERMANN"

    $g_sAttachFiles = ""

    $g_sCcAddress = ""

    $g_sBccAddress = ""

    $g_sImportance = "Normal"

    $g_sUsername = "max.mustermann@t-online.de"

    $g_sPassword = "Geheim0815!"

    $g_iPort = 465

    $g_iSSL = 1

    Evtl. hilft dir das ja...

    Meine "Test-Version" von _INetSmtpMailCom mit GUI ist noch nicht ganz fertig... schieb sie evtl. morgen oder in den nächsten Tagen hier hoch.

    PS: Globale Variablen sollten möglichst nicht in einer Funktion deklariert werden!

    Alles anzeigen

    Außer das es bei mir den Parameter $g_sImportance nicht gibt, finde ich jetzt keinen Unterschied zu meinen Angaben.

    Hääte nicht gedacht, dass es so kompliziert wird eine Mail zu verschicken. Die Fehlermeldungen scheinen sich zwischen WIN10 und 11 auch noch zu unterscheiden...

    Bei WIN11 bekomme ich bei meinem Beispiel für die Zeilen 46, 48, 53, 57, 87 die Fehlermeldung: ### COM Error ! Number: 80020009 ScriptLine: 87 Description:Der angeforderte Nachrichtenteil wurde in dieser Nachricht nicht gefunden.

  • Email versenden

    • MrB
    • 11. März 2022 um 12:45

    Bin leider im Moment auf der Arbeit. Denke da ist Telnet deaktiviert. Funktioniert auf jeden Fall nicht.

    Muss nachher zu Hause testen, da meine Remote-Verbindung nicht will. Das letzte Mal hat meine Frau den Stecker vom NAS für den Staubsauger rausgezogen :Face:.

    Ich sollte das mal so einrichten, dass die VM wieder automatisch startet...

  • Email versenden

    • MrB
    • 11. März 2022 um 10:54

    Die Serverinformationen habe ich von hier: https://hilfe-center.1und1.de/e-mail-c82645/…se-a783411.html

    Getestet mit Outlook und Thunderbird

  • Email versenden

    • MrB
    • 11. März 2022 um 10:43

    Ja, bei einem System ist sogar keine externe FW drauf und die interne ist aus. Ansonsten ist das System jungfräulich ;)

  • Email versenden

    • MrB
    • 11. März 2022 um 08:26

    Hallo zusammen,

    ich muss nochmal was fragen, da ich fast verzweifle.

    Ich möchte eine einfache Mail, ohne Verwendung einer Mail-Software, versenden. Ich hab da schon vieles ausprobiert, bekomme aber immer Fehlermeldungen.

    Im Moment teste ich folgendes Script (Irgendwo im Netz gefunden, keine Ahnung mehr wo..):

    Spoiler anzeigen
    Code
    Sendmail()
    
    Func Sendmail()
    
    
        Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
        ;##################################
        ; Variables
        ;##################################
        $s_SmtpServer = "smtp.1und1.de"     ; address for the smtp-server to use - REQUIRED
        $s_FromName = "zentrale"                         ; name from who the email was sent
        $s_FromAddress = "zentrale@online.de"                         ; address from where the mail should come
        $s_ToAddress = "zentrale@online.de"                            ; destination address of the email - REQUIRED
        $s_Subject = "Test"                        ; subject from the email - can be anything you want it to be
        $as_Body = "Test Inhalt"                        ; the messagebody from the mail - can be left blank but then you get a blank mail
        $s_AttachFiles = ""                ; the file you want to attach- leave blank if not needed
        $s_CcAddress = ""                             ; address for cc - leave blank if not needed
        $s_BccAddress = ""                         ; address for bcc - leave blank if not needed
        $s_Username = "zentrale@online.de"                      ; username for the account used from where the mail gets sent  - Optional (Needed for eg GMail)
        $s_Password = "*******"                  ; password for the account used from where the mail gets sent  - Optional (Needed for eg GMail)
    ;~     $IPPort = 25                                 ; port used for sending the mail
    ;~     $ssl = 0                                     ; enables/disables secure socket layer sending - put to 1 if using httpS
        $IPPort=465                                ; GMAIL port used for sending the mail
        $ssl=1                                     ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS
    
    
        ;##################################
        ; Script
        ;##################################
        Global $oMyRet[2]
        ;MsgBox(0,"", $s_SmtpServer& $s_FromName& $s_FromAddress& $s_ToAddress& $s_Subject& $as_Body& $s_AttachFiles& $s_CcAddress& $s_BccAddress& $s_Username& $s_Password& $IPPort& $ssl)
        $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
        If @error Then
            MsgBox(0, "Error sending message", "Error code:" & @error & "  Description:" & $rc,1)
        EndIf
    
    
    EndFunc   ;==>Sendmail
    
    
    
    
    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
        $objEmail = ObjCreate("CDO.Message")
        $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
        $objEmail.To = $s_ToAddress
        Local $i_Error = 0
        Local $i_Error_desciption = ""
        If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
        If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
        $objEmail.Subject = $s_Subject
        If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
            $objEmail.HTMLBody = $as_Body
        Else
            $objEmail.Textbody = $as_Body & @CRLF
        EndIf
        If $s_AttachFiles <> "" Then
            Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
            For $x = 1 To $S_Files2Attach[0]
                $S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
                If FileExists($S_Files2Attach[$x]) Then
                    $objEmail.AddAttachment($S_Files2Attach[$x])
                Else
                    $i_Error_desciption = $i_Error_desciption & @LF & 'File not found to attach: ' & $S_Files2Attach[$x]
                    SetError(1)
                    Return 0
                EndIf
            Next
        EndIf
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
        ;Authenticated SMTP
        If $s_Username <> "" Then
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
        EndIf
        If $ssl Then
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        EndIf
        ;Update settings
        $objEmail.Configuration.Fields.Update
        ; Sent the Message
        $objEmail.Send
        If @error Then
            SetError(2)
            Return $oMyRet[1]
        EndIf
    EndFunc   ;==>_INetSmtpMailCom
    
    
    Func MyErrFunc()
        $HexNumber = Hex($oMyError.number, 8)
        $oMyRet[0] = $HexNumber
        $oMyRet[1] = StringStripWS($oMyError.description, 3)
        ConsoleWrite("### COM Error !  Number: " & $HexNumber & "   ScriptLine: " & $oMyError.scriptline & "   Description:" & $oMyRet[1] & @LF)
        SetError(1); something to check for when this function returns
        Return
    EndFunc   ;==>MyErrFunc
    Alles anzeigen

    Aufs Wichtigste beschränkt ... und auf verschiedenen Systemen (Win10 und 11, ohne FW usw.) getestet.

    Ergebnis:

    ### COM Error ! Number: 80020009 ScriptLine: 90 Description:Der Transport konnte keine Verbindung zum Server herstellen.

    Ich steh da im Moment komplett auf dem Schlauch und finde den Fehler nicht... Passwort stimmt - getestet.

    Hat da einer einen Tipp/Idee??

    Danke

    VG

    MrB

  • Bild aus RichEdit mit Windows Standard-App öffnen

    • MrB
    • 15. September 2021 um 11:19

    Hallo zusammen,

    Gibt es eine Möglichkeit ein Bild, welches über Copy & Paste in das RichEdit eingefügt wurde, mit der Windows Standard-App (oder einer anderen) per Doppelklick zu öffnen, um es größer darzustellen?

    Hier mal ein kleines Beispielscrip:

    Spoiler anzeigen
    C
    #include <GUIConstantsEx.au3>
    #include <GuiRichEdit.au3>
    
    $Main = GUICreate("Main",871,752,-1,-1,-1,-1)
    $Rich1 = _GUICtrlRichEdit_Create($Main,"",20,20,692,714,-1,-1)
    $Button_Save = GUICtrlCreateButton("Speichern",721,20,100,30,-1,-1)
    
    If FileExists(@ScriptDir & "\RichSave.rtf") Then _GUICtrlRichEdit_StreamFromFile($Rich1, @ScriptDir & "\RichSave.rtf")
    
    GUISetState(@SW_SHOW, $Main)
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $Button_Save
                _GUICtrlRichEdit_StreamToFile($Rich1, @ScriptDir & "\RichSave.rtf")
                If @error Then MsgBox(0, "Achtung", "Fehler beim Speichern")
        EndSwitch
    WEnd
    Alles anzeigen

    Im Anhang ist ein RichEdit mit einem gespeicherten Bild (.txt in . rtf umbenennen). Einfach nach @Scriptdir einfügen.

    Finde dafür keine Lösung X( . Dafür reicht mein Wissensstand nicht ;)

    Danke

    Dateien

    RichSave.txt 457,05 kB – 332 Downloads
  • Darstellungsproblem Bei Text (Label) auf GUI

    • MrB
    • 4. September 2016 um 16:14

    @UEZ

    Danke, genau das war´s !! TOP

  • Darstellungsproblem Bei Text (Label) auf GUI

    • MrB
    • 1. September 2016 um 21:05

    UUpps, dachte das wäre offensichtlich.

    Der Text wird nur sehr undeutlich und mit weißem Rand angezeigt. Eigentlich sollte der Solid und ohne Rand sein.

    Ich hab grad noch festgestellt, dass das Problem nur auftritt, wenn der Desktop als Hintergrund ist. Ist es ein Fenster als Hintergrund, besteht das Problem nicht.

  • Variabel aus User auslesen

    • MrB
    • 1. September 2016 um 20:44

    Meinst das?

    Spoiler anzeigen
    Code
    #include <String.au3>
    
    
    $User01 = "User01"
    
    
    $strNew = StringReplace($User01,"User","")
    
    
    MsgBox(0,"Ergebnis","Von " & $User01 & " nach " & $strNew)

    Ok, etwas zu spät ^^

  • Darstellungsproblem Bei Text (Label) auf GUI

    • MrB
    • 1. September 2016 um 20:30

    Hallo zusammen,

    ich erzeugen ein transparente GUI wie folgt

    Spoiler anzeigen
    Code
    Local $Breite = 250
    
    
    	$hDummy = GUICreate("") 
    	$hGUI = GUICreate("", $Breite, 150, @DesktopWidth - $Breite, @DesktopHeight / 2 - 150 / 2, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_TRANSPARENT), $hDummy)
    	GUISetBkColor(0xABCDEF, $hGUI)
    	_WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 255)
    
    
    	GUISetState()
    
    
    	$Text = ""
    
    
    	For $i = 1 To UBound($aOnlineUser) - 1
    		$Text = $Text & $aOnlineUser[$i] & @CRLF
    	Next
    	GUICtrlCreateLabel($Text, 0, 0, $Breite - 10, 150, $SS_RIGHT)
    	GUICtrlSetFont(-1, 16, 800)
    	GUICtrlSetColor(-1, 0x993300)
    Alles anzeigen

    Funktioniert auch soweit gut, nur ist die Darstellung des Textes ein wenig "daneben" (siehe Bild). Ich hab da keine Idee, wie ich das weg bekomme

    Kann mir da einer einen Tip geben?

    Gruß und Danke
    MrB

  • Bildschirmhelligkeit anpassen

    • MrB
    • 31. Januar 2016 um 16:59

    Wenn das funktionieren würde, wäre das toll. Ne, darauf bin ich schon selber gekommen.


    Zitat von autoBert

    Rechtsklick auf das Batteriesymbold =>Energieoptionen anklicken => Zeitpunkt für das Ausschalten des Bildschirms auswählen. Fertig!

    Gemacht - getan. Naja, was soll ich sagen? Bildschirm geht auch schön aus und zwar komplett. Ich finde keine Möglichkeit für eine Einstellung die auch eine Auswirkung hat

    Zitat von autoBert

    Und/Oder nach Energieoptionen mit dem Slider (ganz unten) die Helligkeit zurückfahren.

    Slider bewirkt nur eine Änderung an der aktuellen Helligkeit und hat keine Auswirkung auf den Energiesparmodus.

    Ich weis, daß das alles funktionieren sollte, nur macht es halt nicht. Bildschirm geht entweder aus oder macht gar nix.

    Zitat von autoBert

    Hierfür üblicherweise auch Schnellzugriffstasten zur Verfügung, einfach einmal die Doku zu deinem Tablet lesen.

    Doku kannst vergessen, muss evtl. nochmal Online suchen. Ist ein TrekStor Surftab 7. Dient nur zur Fernbedienung der Homematic und dem Multimedia-Gedönse

  • Bildschirmhelligkeit anpassen

    • MrB
    • 31. Januar 2016 um 13:53

    Hallo zusammen,

    da ich definitiv zu blöd bin das Problem direkt mit Windows 10 zu lösen, musste ich mir was einfallen lassen. Das Ziel ist es, bei einem Win10 Tablet den Bildschirm nach X-Sekunden abzudunkeln (??wie auch immer man das schreibt :S ). Hab hier irgendwo im Forum ein Script gefunden und angepasst.

    Hier mal der Versuch:

    Spoiler anzeigen
    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=Helligkeit.Exe
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    
    #include <Misc.au3>
    #include <GuiSlider.au3>
    #include "Forms\Main.isf"
    
    
    Global $iniPath = @ScriptDir & "\Config.ini"
    Local $Abgedunkelt = False
    Global $rgb_Standard = IniRead($iniPath, "rgb", "standard", 75)
    Global $rgb_Dunkel = IniRead($iniPath, "rgb", "dunkel", 25)
    Global $Time = IniRead($iniPath, "time", "time", 5)
    
    
    GUICtrlSetData($Label_Slider_wert, $rgb_Standard & "%")
    GUICtrlSetData($Label_Slider_wert2, $rgb_Dunkel & "%")
    GUICtrlSetData($Input_Time, $Time)
    
    
    Local $hDLL = DllOpen("user32.dll")
    
    
    $TimerPress = TimerInit()
    
    
    
    
    GUISetState(@SW_SHOW, $Main)
    
    
    While 1
    ;~ 	ToolTip($rgb_Dunkel)
    	$TimeToChange = $Time - Round(TimerDiff($TimerPress) / 1000, 0)
    	If $TimeToChange > 0 Then
    		GUICtrlSetData($Label_Time, $TimeToChange)
    	Else
    		GUICtrlSetData($Label_Time, "Abgedunkelt")
    	EndIf
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			ende()
    		Case $Button_Exit
    			ende()
    		Case $Slider_RGB_Dunkel
    			$Slider_Wert2 = GUICtrlRead($Slider_RGB_Dunkel)
    			GUICtrlSetData($Label_Slider_wert2, $Slider_Wert2 & "%")
    			$rgb_Dunkel = $Slider_Wert2
    		Case $Slider_RGB_Standard
    			$Slider_Wert = GUICtrlRead($Slider_RGB_Standard)
    			GUICtrlSetData($Label_Slider_wert, $Slider_Wert & "%")
    			$rgb_Standard = $Slider_Wert
    		Case $Button_Save
    			_Save()
    	EndSwitch
    	If TimerDiff($TimerPress) >= $Time * 1000 and $Abgedunkelt = False Then
    		$rgb = Round(128 * ($rgb_Dunkel / 100), 0)
    		_SetGamma($rgb, $rgb, $rgb)
    		$Abgedunkelt = True
    	EndIf
    	If _IsPressed("01", $hDLL) Then
    		$TimerPress = TimerInit()
    		If $Abgedunkelt = True Then
    			$rgb = Round(128 * ($rgb_Standard / 100), 0)
    			_SetGamma($rgb, $rgb, $rgb)
    			$Abgedunkelt = False
    		EndIf
    	EndIf
    	Sleep(50)
    WEnd
    
    
    Func normal()
    	$rgb = 128
    	_SetGamma($rgb, $rgb, $rgb)
    EndFunc   ;==>normal
    
    
    Func ende()
    	_SetGamma($rgb, $rgb, $rgb)
    	DllClose($hDLL)
    	Exit
    EndFunc   ;==>ende
    
    
    Func _Save()
    	IniWrite($iniPath, "rgb", "standard", GUICtrlRead($Slider_RGB_Standard))
    	IniWrite($iniPath, "rgb", "dunkel", GUICtrlRead($Slider_RGB_Dunkel))
    	IniWrite($iniPath, "time", "time", GUICtrlRead($Input_Time))
    	$Time = GUICtrlRead($Input_Time)
    	$TimerPress = TimerInit()
    EndFunc   ;==>_Save
    
    
    Func _SetGamma($vRed = 128, $vGreen = 128, $vBlue = 128)
    	Local $n_ramp, $rVar, $gVar, $bVar, $Ret, $i, $dc
    	If $vRed < 0 Or $vRed > 386 Then
    		SetError(1)
    		Return -1 ;Invalid Red value
    	EndIf
    	If $vGreen < 0 Or $vGreen > 386 Then
    		SetError(2)
    		Return -1 ;Invalid Green value
    	EndIf
    	If $vBlue < 0 Or $vBlue > 386 Then
    		SetError(3)
    		Return -1 ;Invalid Blue value
    	EndIf
    	$dc = DllCall("user32.dll", "int", "GetDC", "hwnd", 0)
    	$n_ramp = DllStructCreate("short[" & (256 * 3) & "]")
    	For $i = 0 To 256
    		$rVar = $i * ($vRed + 128)
    		If $rVar > 65535 Then $rVar = 65535
    		$gVar = $i * ($vGreen + 128)
    		If $gVar > 65535 Then $gVar = 65535
    		$bVar = $i * ($vBlue + 128)
    		If $bVar > 65535 Then $bVar = 65535
    		DllStructSetData($n_ramp, 1, Int($rVar), $i) ;red
    		DllStructSetData($n_ramp, 1, Int($gVar), $i + 256) ;green
    		DllStructSetData($n_ramp, 1, Int($bVar), $i + 512) ;blue
    	Next
    	$Ret = DllCall("gdi32.dll", "int", "SetDeviceGammaRamp", _
    			"int", $dc[0], "ptr", DllStructGetPtr($n_ramp))
    	$dc = 0
    	$n_ramp = 0
    EndFunc   ;==>_SetGamma
    Alles anzeigen

    Die Main.isf hab ich als RAR angehangen.

    Das Ganze funktioniert auch soweit ganz gut, nur wird der Bildschirm nicht dunkel genug.
    Gefühlt tritt ab 25% keine Änderung mehr ein.

    Ich finde den Grund dafür einfach nicht. Wahrscheinlich steh ich wieder auf´m Schlauch...

    Hoffe mir kann da einer kurz aushelfen

    Gruß

    MrB

    P.S.: Falls Jemand noch eine Möglichkeit kennt bei einem Tablet die erste Berührung abzufangen wäre ich echt dankbar. Bei _IsPressed("01", $hDLL) muss man dann doch 2x drauf tippen

    Dateien

    Main.rar 1,42 kB – 548 Downloads
  • GDI+ Anfängerfragen

    • MrB
    • 11. November 2015 um 20:12

    Sry das ich mich erst so spät wieder melde. Viel um die Ohren gehabt.

    Zitat von chesstiger

    Du musst mit GraphicsFillRect überzeichnen.

    Da hab ich ein Verständnisproblem. Ich hab ja ein Bild als Hintergrund, also wie überzeichne ich das dann? Hmm, irgendwie bekam man doch auch transparente GUIs hin. Wäre auch noch ne Alternative. Mal suchenn....

  • GDI+ Anfängerfragen

    • MrB
    • 9. November 2015 um 19:32

    @chesstiger

    Die Child GUI ist die Lösung!! Danke, bin ich einfach nicht drauf gekommen. Funktioniert perfekt. THX

    P.S.: Nicht ganz. Nun flackert das _IECreateEmbedded() jedesmal wenn ich es ansteuere...Das ist in der $hMainWnd erstellt

  • GDI+ Anfängerfragen

    • MrB
    • 8. November 2015 um 16:56

    So, da hab ich schon wieder ein kleines Problem. Hab mich durch die Hilfe gelesen, bekomme es aber nicht hin.
    Ich möchte das nur ein Teil der GUI neu gezeichnet wird. Im Moment versuche ich es so:

    Spoiler anzeigen
    AutoIt
    $g_tRECT = DllStructCreate($tagRect)
    DllStructSetData($g_tRECT, "Left", 0)
    DllStructSetData($g_tRECT, "Top", 0)
    DllStructSetData($g_tRECT, "Right", 50)
    DllStructSetData($g_tRECT, "Bottom", 50)
    
    
    _WinAPI_RedrawWindow($hGui, $tagRect, 0, $RDW_VALIDATE + $RDW_ALLCHILDREN)


    Leider wird aber immernoch die ganze GUI neu gezeichnet.
    Also wieder: Was mache ich falsch?

  • Screenshot von nicht sichtbaren IE-Fenster

    • MrB
    • 8. November 2015 um 16:36

    Hehe, da sind wir schonmal zu zweit.
    Sichtbar bekomm ich´s wahrscheinlich hin, aber versteckt??? Mal versuchen..

  • Screenshot von nicht sichtbaren IE-Fenster

    • MrB
    • 7. November 2015 um 20:18

    Klingt eigentlich auch logisch!

    Hat jemand eine Idee, wie man denn einen Screenshot einer Website im "Hintergrund" hin bekommen könnte??

  • Screenshot von nicht sichtbaren IE-Fenster

    • MrB
    • 7. November 2015 um 18:47

    Nabend zusammen,

    ich hänge mal wieder ein bisschen. Ich versuche grad einen Screenshot von einem IE Fenster außerhalb des Bildschirms zu erstellen. Das Laden sollte möglichst nicht sichtbar sein.
    Mit einem IE Fenster welches mit _IECreate($Link,0,0) erstellt wird hab ich keine Möglichkeit gefunden, deswegen außerhalb des Bildschirms.
    Ich hab mal 2 Beispiele gebastelt, wovon Versuch1 problemlos funktioniert.
    Versuch2 hingegen speichert nur ein schwarzes Bild.
    Wo mache ich den Fehler??

    Spoiler anzeigen
    AutoIt
    #include <IE.au3>
    #include <ScreenCapture.au3>
    
    
    _Versuch1()
    _Versuch2()
    
    
    Func _Versuch1()
    	$hScreen = ""
    	$Link = "www.google.de"
    	Global $oIE = _IECreate($Link)
    	_IELoadWait($oIE)
    
    
    	_ScreenCapture_CaptureWnd(@ScriptDir & "\TS1.jpg", $hScreen)
    
    
    	ShellExecute(@ScriptDir & "TS1.jpg")
    EndFunc   ;==>_Versuch1
    
    
    Func _Versuch2()
    	$hScreen = ""
    	$Link = "www.google.de"
    	Global $oIE = _IECreate($Link);,0,0)
    	_IELoadWait($oIE)
    
    
    	If Not IsHWnd($hScreen) Then $hScreen = WinGetHandle("teamspeak-viewer")
    
    
    	WinMove($hScreen, "", 4000, 0)
    
    
    	_ScreenCapture_CaptureWnd(@ScriptDir & "\TS2.jpg", $hScreen)
    
    
    	ShellExecute(@ScriptDir & "TS2.jpg")
    
    
    EndFunc   ;==>_Versuch2
    Alles anzeigen


    WinMove funktioniert schon nicht, gibt aber ein handle zurück. Wird auf Win10 64bit getestet


    Danke euch


    Gruß
    Balti

  • GDI+ Anfängerfragen

    • MrB
    • 5. November 2015 um 17:28

    Sry das ich mich erst so spät melde... RL....

    @Oscar
    THX, das reicht mir schon so. Das mit dem Buffer vergess ich immer wieder (mal gelesen vor einiger Zeit) und hätte es, auch wenn ich dran gedacht hätte, nicht alleine hinbekommen.
    Dank Dir

    Ich lass mal noch offen, da da garantiert noch was kommt.

  • GDI+ Anfängerfragen

    • MrB
    • 3. November 2015 um 17:25

    Hallo zusammen,

    leider muss ich euch in nächster Zeit ein wenig nerven! ;(
    Ich muss mich doch ein "wenig" mit GDI+ befassen und stoße da recht schnell auf Probleme, die aus meinem Unwissen resultieren.
    Naja ich fang mal an...

    1. Folgendes Beispiel Skript erstellt eine einfache GUI und schreibt einen Text darauf. So weit so gut, nur wie lösche ich den wieder??
    Das standardmäßige Übermalen geht nicht, da der Hintergrund später ein Bild ist. Muss man da alles komplett neu zeichnen (also mit Bild usw.) oder geht das auch nur für den einen String??

    Spoiler anzeigen
    AutoIt
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiButton.au3>
    #include <GDIPlus.au3>
    Global $hGraphic
    $hGUI = GUICreate("Main", 809, 650)
    $Button_Delete = GUICtrlCreateButton("löschen", 680, 20, 100, 30)
    GUISetState(@SW_SHOW, $hGUI)
    _GDIPlus_Startup()
    _DrawText("Dies ist ein Versuch")
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			_GDIPlus_GraphicsDispose($hGraphic)
    			_GDIPlus_Shutdown()
    			Exit
    		Case $Button_Delete
    			_GDIPlus_GraphicsClear($hGraphic, 0xFFFFFFFF)
    	EndSwitch
    WEnd
    Func _DrawText($text)
    	$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    	_GDIPlus_GraphicsDrawString($hGraphic, $text, 100, 100)
    EndFunc   ;==>_DrawText
    Alles anzeigen

    Wahrscheinlich kein Ding für euch...

    THX

    Gruß
    Balti

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™