um das gehts doch jetz garnich mehr.
er wills halt so nich machen...
@NoName: beschreib doch bitte nochmal kurz und bündig den problem, sonst kommen wir hier nie weiter.
und bitte mit allen daten die wir brauchen
um das gehts doch jetz garnich mehr.
er wills halt so nich machen...
@NoName: beschreib doch bitte nochmal kurz und bündig den problem, sonst kommen wir hier nie weiter.
und bitte mit allen daten die wir brauchen
Nochmal: Was willst du eigentlich machen und was hat das mit x,y zu tun. Die Handles brauchen keine Koordinaten.
beim erstellen muss er die koordinaten angeben und das macht ihm mit einer for schleife probleme...
edit: ups sry für doppelpost...
wer sagt denn dass du deine controls mit ner for schleife erstellen musst.
kannst sie ja so genauso als array erstellen...
[autoit]Dim $labels[50]
$labels[0] = Guictrlcreatelabel("label1", 12,34,45,67)
$labels[1] = Guictrlcreatelabel("label2", 12,34,45,67)
$labels[2] = Guictrlcreatelabel("label3", 12,34,45,67)
...
$labels[49] = Guictrlcreatelabel("label50", 12,34,45,67)
was bitte haben denn die x und y koordinaten mit der textfarbe der controls zu tun?
was genau willst du jetz egtl machen?
ka hatte nur den letzten post gelesen sry^^
was genau willst du denn mit dem switch machen.
problem beschreiben wäre gut
autoit ist case sense wenn man statt = ein == verwendet
nimm doch statt den IE funktionen die FF funktionen
alles was du brauchst findest du hier
Also weniger Arbeit ist das nicht.
ähm doch
außerdem brauchst du noch nichmal array. die lösung die ich in Post 15 geschrieben hab geht auch ohne^^
frisch doch bitte solche problemthreads nich nochmal auf. sonst geht vllt das ganze von neuen los...
wäre es da nicht einfach zu prüfen ob eine der inputs aktiv ist wenn enter gedrückt wird?
wenn ich mich nicht ganz irre musst du das handle der control angeben:
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <Process.au3>
Global $windows = "Auto Windowmanager"
[/autoit] [autoit][/autoit] [autoit]$hWnd = GUICreate($windows, 500, 400)
[/autoit] [autoit][/autoit] [autoit]Global $ListView = GUICtrlCreateListView("Fenstername|Datei", 10, 10, 480, 250)
_GUICtrlListView_SetColumnWidth($ListView, 0, 300)
_GUICtrlListView_SetColumnWidth($ListView, 1, 175)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit];_ListWindows()
[/autoit] [autoit][/autoit] [autoit]AdlibRegister("_ListWindows", 1000)
[/autoit] [autoit][/autoit] [autoit]While True
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
AdlibUnRegister()
EndSwitch
WEnd
Func _ListWindows()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView)); Funzt vielleicht :D!
$windows = WinList()
For $i = 1 To $windows[0][0]
If $windows[$i][0] <> "" And IsVisible($windows[$i][1]) Then
_GUICtrlListView_AddItem($ListView, $windows[$i][0], _GUICtrlListView_GetItemCount($ListView))
$P = WinGetProcess($windows[$i][1])
$Prozess = _ProcessGetName($P)
_GUICtrlListView_AddSubItem($ListView, _GUICtrlListView_GetItemCount($ListView) - 1, $Prozess, 1)
EndIf
Next
EndFunc ;==>_ListWindows
;==============================
;Aus der Hilfe:
;==============================
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) Then
Return 1
Else
Return 0
EndIf
EndFunc ;==>IsVisible
versuch doch mal mit worten zu beschreiben was der code machen soll. bzw was das switch machen soll.
ich denke da kann man einiges vereinfachen.
cool wäre auch ein lauffähiger code^^
wieso solltest du controls suchen? hast du ein fenster wo du nicht weißt welche controls drauf sind?
Floor kannst du dir sparen wenn du bei Random den 3ten parameter verwendest
Edit: was du ja bei deinem zweiten random eh gemacht hast wie ich grade seh
willst du dass man mehrere zeilen eingeben kann oder dass der text der inputbox in zufälliger reihenfolge erscheint?
ausgeben kannste doch per msgbox, per gui, per tooltip, ...
egal ob videotutorials, pdf's, bücher oder sonst irgendwas
lernen tut mans immer indem mans selbst versucht. und zum nachschlagen finde ich ein buch fast am besten.
ich hab mir auch autoit nur mithilfe der Hilfedatei beigebracht. und ich denke das hat einigermaßen geklappt
ich denke du musst im startmenü rechtsklick auf Zuletzt besucht machen und dann "Auf dem desktop anzeigen" abwählen
kannst dir aber nicht genau sagen weil ich hier nur xp hab...
wie gesagt ich halte die pixelmethoden für sehr ungeeignet. wie du sagst unterscheiden sich einfach zu viele sachen. auflösung und so weiter.
da hätte ich erstmal mit anderen methoden getestet, aber ich kann ja den installer nich downloaden, noch nicht^^
pixelchecksum gibt ja eine prüfsumme der pixel in einem bestimmten bereich zurück.
um den bereich eindeutig festzulegen brauchst du den abstand von oben und von der seite. und jeweils 2 werte da du ja von ... bis ... haben willst
für den ganzen bildschirm wärs zum beispiel so:
[autoit]PixelChecksum ( 0, 0, @Desktopwidth, @DesktopHeight)
[/autoit]Edit: oh zu spät^^
zu deiner neuen frage: dafür gibts @Desktopwidth und @DesktopHeight
damit bekommst du die bildschirm breite und höhe
is doch in der hilfe recht schön beschrieben