sooo ich habe mal meinen alten rausgekramt
ergebnis 96 DPI ![]()
sooo ich habe mal meinen alten rausgekramt
ergebnis 96 DPI ![]()
hmpf.. treiber?! hmm kann man die vielleicht auslesen?
Hey aber sagmal die native resolution ist doch die höchstmögliche Auflösung die geht also auf eigenschaften display slider ganz rechts ^^...
sollte doch eigentlich gehen oder? Also ich meine wenn das doofe windoof die höchstmögliche res auslesen kann können wir das auch ![]()
Aber mal was anderes was machen wir mit CRT Monitoren? ![]()
hmmm aber bei mir wird ne andere auflösung angezeigt als bei
Win32_DisplayControllerConfiguration.horizontalResolution
bzw.
Win32_DisplayControllerConfiguration.verticalResolution
und ich glaube die hier genannten sind die aktuellen oder?
Win32_DisplayConfiguration
PelsHeight
Data type: uint32
Access type: Read-only
Qualifiers: Units(Pixels), Deprecated
Height of the displayable surface.
PelsWidth
Data type: uint32
Access type: Read-only
Qualifiers: Units(Pixels), Deprecated
Width of the displayable surface.
Oder ist das die maximale höchst-darstellbare auflösung?
ja aber ist das nicht der sinn von dpi?
Bildpunkte pro Inch.. Das hat ja was mit dem Monitor zu tun, wieviele Bildpunkte der Monitor pro Inch anzeigen kann, die auflösung spielt ja da garkeine rolle oder? weil man kann die DPI ja auch net ändern is doch hardwarebedingt... is halt scheisse für das Maus-O-Meter
da wir dann über die Pixel länge quasi keinen Zusammenhang zu einem realen Abstand/Länge usw haben
Also wir haben eigentlich nix absolutes wo wir uns dranheften können oder?
na was für vorteile hat denn der msg mode? Ich hab bisher noch keine entdecken können ![]()
jo schreib dein script um auf die gui on event methode
dazu ganz oben im script: Opt("GUIOnEventMode", 1)
und dann alle events die du jetzt per msg abfragst in eine eigene funktion machen und diese funktion dann per
guictrlsetonevent ausfürhen
Meine Meinung: Immer OnEvent benutzen ist um einiges flexibler und bremst das script nicht aus ![]()
Ich rate einfach mal:
Du benutzt nich die OnEvent methode sondern die GetMsg methode... ![]()
Aus einer Funktion kommt man mit Return raus... aber ich versteh dein Problem trotzdem nicht wiso willst du unten in dem Scriptpart aus ner schleife raus??? is doch keine da?
relativ einfach hier mal ein beispielscript:
[autoit]Opt("GUIOnEventMode", 1)
#include<GUIConstants.au3>
GUICreate("ComboTest", 100,100)
$combo = GUICtrlCreateCombo("",10,10)
GUICtrlSetData($combo, "1|2|3|4|5")
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUICtrlSetOnEvent($combo, "test")
GUISetState()
While 1
WEnd
Func test()
MsgBox(0, "Test", "Inhalt der ComboBox: "&GUICtrlRead($combo))
EndFunc
Func _exit()
Exit
EndFunc
Ist jetzt nicht getestet aber sollte gehen
Oscar ich hab auch rumprobiert aber bei mir kam immer der gleich DPI wert raus:
800*600 = 96 DPI
1024*768 = 96 DPI
1280*1024 = 96 DPI...
auf msdn steht folgendes zu dem Objekt:
ZitatLogPixels
Data type: uint32
Access type: Read-only
Qualifiers: Units(Pixels), DeprecatedNumber of pixels per logical inch. This property is valid only with devices that work with pixels (this excludes devices such as printers).
Array und schleife...
Wären jetzt mal meine Stichwörter ![]()
hier noch der ansatz
[autoit]$array = Iniread()
Dim $chkbx_array[Ubound($array)]
For $i = 1 to Ubound($array)-1
$chkbx_array[$i] = GUICtrlCreateCheckbox("Der Inhalt entweder der Key oder die Value der ini also $array[$i][0] oder $array[$i][1], ... )
Next
So würd ich das machen ![]()
hehe daraus könnte man ja auch ein miniscript machen das die Zoll (diagonale) des bildschirms errechnet ![]()
$pos0_alt = 0
$pos[0] = @DesktopWidth
$pos1_alt = 0
$pos[1] = @DesktopHeight
Inch = Zoll wenn ich net irre oder? Da sollte dann ja 17 19 22 etc rauskommen ![]()
Ach ich LIEBE Spielereien ![]()
hä 1 inch = 2,54 cm
wiso jetzt bitte teilen?
Oscar wie wäre denn die rechnung weiter?
Meine rechnung ergibt eine Strecke mit der "Maßeinheit" Pixel
Pixel / DPI = Inch
Inch * 2.54 = cm
So oder?
jaa das war der faktor den ich vergessen hatte^^... Die beschleunigung, rein mathematisch is es wohl nich so kompliziert die mit einzuberechnen aber ich denke mir das Hauptproblem werden die Hardware unterschiede sein. Die sind zwar bestimmt nicht extrem hoch, aber dennoch ein Faktor und ein Faktor ändert ein Ergebnis einfach enorm ![]()
puhh aber keine Garantie
eventuell hat Mega auch noch ne bessere Lösung er ist der Profi ![]()
Omg ich bin so blöd... das mit if und else kannste weglassen, die zahl wird durch die quadrierung ja so oder so positiv -.- ...
Man es ist einfach noch zu früh^^
Jo die "Strecke" auf dem Bildschirm würde ich so errechnen: EDIT SRY DENKFEHLER^^ das ist die Position du musst natürlich erst die distanz errechnen:
$disx = $pos[0] - $pos0_alt
$disy = $pos[1] - $pos1_alt
$zwischenergebnis = Sqrt(($disx^2)+($disy^2))
Somit hast du die Strecke in Pixeln:
Dann noch geteilt durch die Sens der Maus und vielleicht noch ein andrer Faktor? Hardwarebedingt oder so? Mal der Einheit? Ich hoffe ich habe jetzt richtig gedacht^^
$ergebnis = $zwischenergebnis / $sens * $einheit
[/autoit]//EDIT:
Der Performance wegen würd ich jedoch die Strecke nur bei dem Event Mouseclick berechnen also nur wenn der User klickt wird die Distanz vom vorherigen Mausklick zum jetzigen errechnet... und halt immer dazuaddiert usw.
Hmm das kannst du wohl nur sehr ungenau bestimmen, ausschlaggebender Faktor wird wohl die Sensitivity sein
Problem 2 Die Sensitivity ist wahrscheinlich von Hersteller zu Hersteller bzw. Treiber zu Treiber unterschiedlich
jo also wenn du dich jetzt richtig reinhängst machst du uns (der community) eine OCR-UDF (also Schrifterkennungs-UDF) damit würden sich hier bestimmt einige Leute freuen, denn OCR ist schon sehr nützlich besonders in Zeiten des Scanners usw. das ganze aber für captchas zu missbrauchen find ich nicht gut. Das hat schon seinen Sinn, allerdings sehe ich keinen Sinn darin einen BOT spielen zu lassen^^ Was hat man denn dann noch von dem Spiel? Ausser zuschaun?