Was willst Du in den Vordergrund holen?
Ein GUI-Element oder das ganze Fenster?
Poste mal das ganze Script...
Beiträge von Oscar
-
-
Das sollte weiterhelfen:
[autoit]Opt('WinTitleMatchMode', 2)
[/autoit] -
Vielleicht meinst Du ja sowas:
[autoit]
[/autoit]
Global $aFiles[3] = [@WindowsDir & '\explorer.exe', @WindowsDir & '\notepad.exe', @WindowsDir & '\regedit.exe']
$bCheck = True
For $i = 0 To UBound($aFiles) - 1
If Not FileExists($aFiles[$i]) Then $bCheck = False
Next
If Not $bCheck Then
MsgBox(0, 'Fehler', 'Die erforderlichen Dateien sind nicht vollständig vorhanden!')
Else
MsgBox(0, 'kein Fehler', 'Alle Dateien vorhanden!')
EndIf -
Für mich war es überraschend festzustellen, dass die unterschiedlichen Schwierigkeitsgrade bei den Sudokus tatsächlich auf unterschiedliche Strategien basieren.
Ich habe vorher nie ein Sudoku gelöst. Kannte das immer nur vom hörensagen. Ich dachte, man könnte mit einem Algorithmus alle Sudokus lösen. Das dann quasi nur die Zeit variiert.
Insofern habe ich mit dieser Aufgabe schon wieder was dazugelernt.
-
Mein Script kann bisher die Aufgaben 1 bis 5 (das sind die einfachen) von Alinas Liste lösen. Ich bin gerade dabei die Strategie für die 6. Aufgabe umzusetzen.

-
Schau Dir mal "GUIGetCursorInfo" an.
-
-
Also ich habe noch die 9er Version vom WMP und mit der wird Bild und Ton abgespielt.
Liegt vielleicht eher an einem fehlenden Codec?!
P.S.: Ein schönes Projekt! Solltest Du weiter ausbauen.

-
Schau Dir mal GUIRegisterMsg an:
[autoit]GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
[/autoit] -
Er meint den Dateinamen!
Dein ZIP-Archiv heißt "TDC.ZIP" und in Deinem Script verwendest Du "TCP.ZIP". -
Du meinst den disconnect vom Provider, richtig?
Den kann man nicht umgehen (da von Provider-Seite ausgelöst).
Musst Du Dir einen anderen Provider suchen oder vielleicht doch mal eine Pause beim spielen einlegen.
-
Wozu eigentlich eine Inidatei?
So kann man die Datei sogar doppelklicken (Playlist):
Spoiler anzeigen
[autoit]
[/autoit]
$sPath = 'c:\'
$hSearch = FileFindFirstFile($sPath & '*.mp3')
If $hSearch <> -1 Then
$hDest = FileOpen(@ScriptDir & '\music.m3u', 2)
If $hDest <> -1 Then
While True
$hFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
FileWriteLine($hDest, $sPath & $hFile)
WEnd
FileClose($hDest)
EndIf
FileClose($hSearch)
EndIf -
Es ist keine gute Idee mehrere Scripte einfach so "zusammenzuklatschen". Du solltest Dich schon bemühen, die fremden Scripte auch zu verstehen, sonst endet das immer in einer "Fehler-Orgie".

Naja, ich habe Dein Script mal etwas debugt. Und statt der Datei solltest Du für die Einstellungen lieber eine Inidatei nehmen.
So ist es zwar immer noch etwas chaotisch, aber es funktioniert wenigstens:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <IE.au3>
#include <ScrollBarConstants.au3>
#include <WindowsConstants.au3>Global $iHit = 0, $hInput, $hSearch, $home
[/autoit] [autoit][/autoit] [autoit]_IEErrorHandlerRegister()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists(@ScriptDir & '\data\settings') Then DirCreate(@ScriptDir & '\data\settings')
If Not FileExists(@ScriptDir & '\data\settings\home.ini') Then config()
$home = IniRead(@ScriptDir & '\data\settings\home.ini', 'Settings', 'Home', 'www.google.at')HotKeySet('^u', '_qcode')
[/autoit] [autoit][/autoit] [autoit]
$ie = _IECreateEmbedded()
GUICreate("MyBrowser 0.1.0", 640, 580, _
(@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
$ws_overlappedwindow + $ws_visible + $ws_clipsiblings + $ws_clipchildren)
$ieobj = GUICtrlCreateObj($ie, 0, 025, 640, 580 - 5 - 20)
GUICtrlSetResizing($ieobj, 102);guictrlsetresizing($ieobj,$GUI_DOCKAUTO+128+32);guictrlsetresizing($ieobj,2+4+64)
$ieback = GUICtrlCreateButton("Back", 0, 0, 100, 25)
$ieforward = GUICtrlCreateButton("Forward", 100, 0, 100, 25)
$iehome = GUICtrlCreateButton("Home", 200, 0, 100, 25)
$iestop = GUICtrlCreateButton("Stop", 300, 0, 100, 25)
$url = GUICtrlCreateInput($home, 400, 0, 580 - 400)
$urlgo = GUICtrlCreateButton('|>', 580, 0, 20)
GUICtrlSetResizing($ieback, 2 + 8 + 256 + 512)
GUICtrlSetResizing($ieforward, 2 + 8 + 256 + 512)
GUICtrlSetResizing($iehome, 2 + 8 + 256 + 512)
GUICtrlSetResizing($iestop, 2 + 8 + 256 + 512)
GUICtrlSetResizing($url, 2 + 8 + 256 + 512)
GUICtrlSetResizing($urlgo, 2 + 8 + 256 + 512)GUISetState() ;Show GUI
[/autoit] [autoit][/autoit] [autoit]_IENavigate($ie, $home)
[/autoit] [autoit][/autoit] [autoit];#cs ~~~~~ MAIN LOOP START ~~~~~
[/autoit] [autoit][/autoit] [autoit]
; Waiting for user to close the window
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $iehome
_IENavigate($ie, $home)
Case $ieback
_IEAction($ie, "back")
Case $ieforward
_IEAction($ie, "forward")
Case $iestop
_IEAction($ie, "stop")
Case $urlgo
_IENavigate($ie, GUICtrlRead($url))
EndSwitch
WEnd
;#ce ~~~~~MAIN LOOP END ~~~~~GUIDelete()
[/autoit] [autoit][/autoit] [autoit]Exit
[/autoit] [autoit][/autoit] [autoit]
;#cs ~~~~~ SETTINGS START ~~~~~
Func config()
$hConfig = GUICreate('Settings', 250, 95)
GUICtrlCreateGroup('Main', 5, -1, 240, 55)
GUICtrlCreateLabel('Bitte geben Sie die gewünschte Startseite ein: ', 10, 10)
$home = GUICtrlCreateInput('', 10, 25)
$save = GUICtrlCreateButton('OK', 10, 60, 50)
$cancel = GUICtrlCreateButton('Cancel', 65, 60, 50)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $cancel
ExitLoop
Case $save
IniWrite(@ScriptDir & '\data\settings\home.ini', 'Settings', 'Home', GUICtrlRead($home))
ExitLoop
EndSwitch
WEnd
GUIDelete($hConfig)
EndFunc ;==>config
;#ce ~~~~~ SETTINGS END ~~~~~Func _qcode()
[/autoit] [autoit][/autoit] [autoit]
$sFile = _IEBodyReadHTML($ie)$hGui = GUICreate('Text suchen', 720, 480)
[/autoit] [autoit][/autoit] [autoit]$hEdit = GUICtrlCreateEdit($sFile, 10, 10, 700, 440, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor(-1, 0xFFFFFF)
ControlFocus($hGui, '', $hEdit)
$hInput = GUICtrlCreateInput('Bitte Suchbegriff eingeben!', 10, 455, 638, 20)
$hSearch = GUICtrlCreateButton('Suchen', 650, 454, 60, 22)
GUISetState()
GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')While True
[/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIDelete($hGui)
ExitLoop
Case $hSearch
$sText = GUICtrlRead($hEdit)
$sSearch = GUICtrlRead($hInput)
$iHit = StringInStr($sText, $sSearch, 0, 1, $iHit + 1)
If $iHit > 0 Then
ControlFocus($hGui, '', $hEdit)
_GUICtrlEdit_SetSel($hEdit, $iHit - 1, $iHit - 1 + StringLen($sSearch))
_GUICtrlEdit_Scroll($hEdit, $SB_SCROLLCARET)
GUICtrlSetData($hSearch, 'Weiter...')
Else
Beep(400, 100)
GUICtrlSetData($hSearch, 'Suchen')
EndIf
EndSwitch
WEnd
EndFunc ;==>_qcodeFunc MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
[/autoit]
Local $nNotifyCode = BitShift($wParam, 16)
Local $nID = BitAND($wParam, 0xFFFF)
If $nID = $hInput And $nNotifyCode = 256 Then
GUICtrlSetData($hSearch, 'Suchen')
GUICtrlSetData($hInput, '')
$iHit = 0
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMAND -
Und Du möchtest das Script mal posten...

-
Was heißt das:
Zitatfunzt auch net wirlkich
Beschreibe, was nicht funktioniert und was das Script anders machen soll. -
Ach nee, das mit dem "Buffer" war ja nur zum speichern. Oh mann, ich werde alt...

Andy: Bei Dir fehlt die WM_PAINT-Funktion. Sonst wird die Graphic nicht neu gezeichnet, wenn das Fenster von einem anderen Fenster verdeckt und dann wieder sichtbar wird.
-
Geh' nicht so nah an den Monitor.

Nee, im Ernst, ich kann Dir nicht so ganz folgen. Was meinst Du?
-
So:
[autoit]
[/autoit]
$hGui = GUICreate('', 320, 200)
$hInput = GUICtrlCreateEdit('Alter Text' & @CRLF, 10, 10, 300, 180)
GUISetState()
ControlSend($hGui, '', $hInput, '{RIGHT}') ; damit der Eingabecursor am Ende des alten Textes steht
Guictrlsetdata($hinput, FileRead("C:\Programme\logfile.txt"), 1) ; hier ",1" am Ende
Do
Until GUIGetMsg() = -3 -
Der 3. Parameter bei GUICtrlSetData muss ungleich "" sein. Es muss aber einen dritten Parameter geben!
-
Ich habe Dir mal ein Beispiel erstellt:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <WindowsConstants.au3>_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate('GDI+', 400, 400)
GUISetState()$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
$hGraphicBuff = _GDIPlus_ImageGetGraphicsContext($hBitmap)
For $y = 0 To 39
For $x = 0 To 39
_GDIPlus_GraphicsDrawRect($hGraphicBuff, $x * 10, $y * 10, 10, 10)
Next
Next
_GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
GUIRegisterMsg($WM_PAINT, 'WM_PAINT')Do
[/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = -3_GDIPlus_BitmapDispose($hBitmap)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()Func WM_PAINT($hWnd, $Msg, $wParam, $lParam)
[/autoit]
_GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
EndFunc ;==>WM_PAINT@pee: Das zeichnen mit GDI+ ist nicht ganz ohne, weil man einen zusätzlichen Bitmap-"Buffer" verwenden muss (Danke nochmal an progandy
).