sau gute arbeit bugfix!
@Racer wenn du alle Anwendungen im Ordner hast ist das komfortabler 1 klick alle da & sehr schlank
sau gute arbeit bugfix!
@Racer wenn du alle Anwendungen im Ordner hast ist das komfortabler 1 klick alle da & sehr schlank
While 1
IF @MDAY&'.'&@MON&'.'&@Year = '15.01.2023' then
Code
exit
endif
Wend
oke ich sehe es grad selbst^^ es entsteht ein 2d array mit stringsplitt aber ich wusste dennoch nicht das man direkt hinter die Funktion dann ArrayZahl setzen kann.
Danke danke aufmerksamer Moombas .
$aFile[$i] = StringSplit($aFile[$i], "_")[1]
AspirinJunkie : Die Variante hab ich noch nie gesehen.
Ich wusste gar nicht das man den flag auch außerhalb setzen kann, mache immer ein Komma und dann die halt die zahl oder die vorgegebenen Constanten und dann wird wieder eingeklammert.
Aber man lernt ja nie aus danke für die Erleuchtung des Tages^^.
Release OBS Studio 18.0.2 · obsproject/obs-studio · GitHub <- 18 sollte aufjedenfall auf win7 gehen.
nur als erster Gedanke kommt mir OBS Studio in den sinn, ist vollkommen kostenlos.
dort kannst du nicht nur Streamen sondern auch Aufnehmen oder nur Aufnehmen.
Dabei kannst du in diesem Programm alles abfilmen was du möchtest. (solang es legal bleibt^^.)
Worauf du achten solltest beim aufnehmen, für dich das richtige Aufnahmeformat zu finden, damit du dann keine Probleme beim Importieren hast in ein Videobearbeitungsprogramm.
Edit:Moombas war schneller^^
Falls du kein Videobearbeitungsprogamm hast, kannst du auch in OBS texte etc bzw. als Dateien einfügen,
Indem du dir ein skript baust, kannst auch in autoit machen, wo dir deine Texte in eine txt schreibt, diese kannst du dann in OBS einfügen, wenn du nun die txt Datei dann mit deinem Skript änderst oder löschst wird die Textanzeige in OBS geändert.
Mit hotkeys oder timer könntest du das lösen. ist aber nur ein Gedankenspiel was man machen könnte ^^, ich glaube mit einem extra Programm ersparst du dir aber dieses Gedankenspiel^^
omg.... ich bin total verwirrt
Ich bin heute irgendwie blind, ich finde den Fehler in meinen Code nicht, habe aber in zwischen auch 5 verschiedene Versionen davon.
Weil ich immer wieder getestet habe.
So nun kopiere ich deinen Code & es funktioniert auf anhieb.
Moombas dank
Dann füge der URL mal http:// bzw. https:// hinzu
Leider ist es das auch nicht.
Moombas, danke für deine Interpretation, habe ich mal so ausprobiert wie du geschrieben hast leider wird immer noch nicht das Objekt so gefunden das ich damit Arbeiten könnte.
Das einzige was sich geändert hat ist die Anzahl der Meldungen in der Konsole
von : _IENavigate($oIE, 'www.google.de', 1)--> IE.au3 V3.1-0 Error from function _IENavigate, $_IESTATUS_InvalidDataType
von : Consolewrite(@error & @CRLF)-->3
von : _IEAction($oIE, "stop")--> IE.au3 V3.1-0 Error from function _IEAction(stop), $_IESTATUS_InvalidDataType
Hat noch jemand eine Idee?
Hallo zusammen,
Ich wollte mit der dieser UDF GuiCtrlInfo.au3 nun beginnen in Zukunft zu Arbeiten.
Nun habe ich etwas rumprobiert & es gibt da etwas was ich mir nicht erklären kann.
GUI erstellen ist kein Problem doch sobald ich ein Objekt in die GUI einbinde lässt sich das Objekt nicht steuern bzw. macht so als würde es nicht exzitieren.
hier ein Beispiel Code damit Ihr seht was ich meine
;testbug.au3
#include <IE.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
#include <GuiButton.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <GUIConstants.au3>
#include <GuiCtrlInfo.au3>
#include <Array.au3>
Global $oIE
Start_h1()
_IENavigate($oIE, 'www.google.de', 1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func Start_h1()
Local $beginn, $end, $aId[0], $ID
Local $IE = _IECreateEmbedded()
$main = GUICreate("Hauptfentser", 1860, 849, -1, -1, -1, -1)
$beginn = GUICtrlCreateMenu("Start")
;test
$oIE = GUICtrlCreateObj($IE, 0, 60, 1459, 767)
;test
GUICtrlCreateMenuItem("Entcryptool", $beginn, -1, 0)
GUICtrlCreateMenuItem("Beenden", $beginn, -1, 0)
$bearbeiten = GUICtrlCreateMenu("Bearbeiten")
GUICtrlCreateMenuItem("Profile", $bearbeiten, -1, 0)
$datenbank = GUICtrlCreateMenu("Datenbank")
GUICtrlCreateMenuItem("MySQL Datenbank", $datenbank, -1, 0)
GUICtrlCreateMenuItem("Daten (Format-XML) anzeigen", $datenbank, -1, 0)
$extras = GUICtrlCreateMenu("Extras")
GUICtrlCreateMenuItem("Time sperren/entsperren", $extras, -1, -1)
$inextra = GUICtrlCreateMenu("Verlaufsordner", $extras)
GUICtrlCreateMenuItem("PDF", $inextra, -1, 0)
GUICtrlCreateMenuItem("txt", $inextra, -1, 0)
GUICtrlCreateMenuItem("test", $beginn, -1, 0)
GUICtrlCreateCombo("", 80, 9, 150, 21, -1, -1)
GUICtrlSetData(-1, "")
GUICtrlCreateInput("", 80, 40, 150, 20, $ES_PASSWORD, $WS_EX_CLIENTEDGE)
$btn = GUICtrlCreateButton("Login", 242, 40, 70, 20, -1, -1)
GUICtrlSetBkColor($btn, "-2")
GUICtrlCreateButton("Profil laden", 900, 0, 193, 60, $BS_COMMANDLINK, -1)
GUICtrlCreateButton("Datenbank erstellen ...", 600, 0, 193, 60, $BS_COMMANDLINK, -1)
GUICtrlCreateEdit("", 1459, 170, 398, 657, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) ;, -1, -1)
GUICtrlCreateLabel("Benutzer", 13, 15, 50, 15, -1, -1)
GUICtrlSetBkColor(-1, "-2")
GUICtrlCreateLabel("Passwort", 13, 40, 50, 15, -1, -1)
GUICtrlSetBkColor(-1, "-2")
GUICtrlCreateProgress(1537, 154, 252, 10, -1, -1)
GUICtrlCreateButton("menue", 1609, 0, 200, 60, $BS_COMMANDLINK, -1)
GUICtrlCreateLabel("von", 373, 20, 21, 15, -1, -1)
GUICtrlSetBkColor(-1, "-2")
GUICtrlCreateLabel("bis", 373, 40, 21, 15, -1, -1)
GUICtrlSetBkColor(-1, "-2")
GUICtrlCreateInput(@MDAY & '.' & @MON & '.' & @YEAR, 399, 20, 63, 15, $ES_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, "-2")
GUICtrlCreateInput(@MDAY & '.' & @MON & '.' & @YEAR, 399, 40, 63, 15, $ES_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, "-2")
$end = GUICtrlCreateInput("23:00:00", 466, 40, 51, 15, $ES_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, "-2")
GUISetBkColor(0xFFFFFF)
GUISetState(@SW_SHOW, $main)
For $i = $beginn to $end
$t = _GuiCtrlGetInfo($i)
If $t.ID <> $ID Then
$ID = $t.ID
_ArrayAdd($aId, $ID)
EndIf
Next
Return $aId
EndFunc
Alles anzeigen
Leider wird das IECreateEmbedded ihr nicht angezeigt und auch nicht angesteuert.
Obwohl es den richtigen wert haben sollte.
ps. Frohes neues Jahr an alle :).
hast du WinActivate mit dem Class Namen versucht?
dies sollte das kleine Fenster in den Vordergrund holen und kannst entweder mit send oder controlsend arbeiten.
Opt("WinTitleMatchMode", 2); Aktiviert den Titel-Abgleichmodus "substring". Dies bedeutet, dass der angegebene Fenstertitel als Teilstring des tatsächlichen Fenstertitels abgeglichen wird.
Run("C:\Program Files (x86)\StarMoney 13 Basic\app\StartStarMoney.exe")
While 1; Startet eine unendliche Schleife.
; WinActivate Prüft, ob das Fenster mit dem angegebenen Klassennamen aktiviert werden kann.
; Wenn das Fenster erfolgreich aktiviert wurde, wird der folgende Codeblock ausgeführt.
If WinActivate("[CLASS:HwndWrapper[DefaultDomain'(usw)]") Then
ControlSend("", "Dein Passwort", "", "{Enter}"); Sendet das angegebene Passwort an das aktive Fenster und drückt die Enter-Taste.
Exit; Beendet das Skript.
; Wenn das Fenster nicht aktiviert werden konnte, wird der Codeblock übersprungen und die Schleife fortgesetzt.
endif
Wend
Alles anzeigen
wobei ich mir nicht sicher bin ob man auch das so schreiben muss
oder nur so sein muss
Code ist nicht getestet habe das Programm nicht, den Namen richtig anpassen und versuchen
sry für die vielen Edits.
habe grad mit einem anderen Programm getestet. bei mir hat es nicht funktioniert ^^, du kannst es natürlich auch so versuchen :
global $pid=0,$path = "C:\Program Files (x86)\StarMoney 13 Basic\app\StartStarMoney.exe"
$pid = run($path)
While 1; Startet eine unendliche Schleife.
IF $pid = 0 Then ; Wenn PID = 0 ist wird die Schleife fortgesetzt, und eine Konsolenmeldung ausgeben.
ConsoleWrite($path&' konnte nicht gestartet werden.'&@CRLF)
Elseif $pid <> 0 Then ;Wenn PID ungleich 0 ist wird 7sec gewartet und dann ControlSend ausgeführt.
Sleep(7000)
ControlSend("", "Dein Passwort", "", "{Enter}") ;Sendet das angegebene Passwort an das aktive Fenster und drückt die Enter-Taste.
Exit ;Beendet die Schleife.
endif
Wend
Alles anzeigen
hey richtig gut würde mich freuen,
irgendwann benötigt man es, ich habe nebenbei irgendwann mal im englischen form gelesen das auch Microsoft dran sein sollte den Edge freundlicher zu machen in Sachen von Programmierung. Vielleicht zukünftig so wie der beim IE damals ob, dann noch der Webdriver benötigt wird weiß ich nicht.
Aber bis das dann wieder in autoit übersetzt ist kann sich noch hinziehen von daher immer her mit fände ich ein super fürs deutsche Forum.
hab ich selber noch nicht hinbekommen aber es gibt den Webdriver und eine udf dafür,
dort kannst du Edge starten lassen und auch wieder die Session beenden, damit sollte auch dein Fenster wieder zu gehen.
Ich habe grad am Beispiel (wd_demo.au3) rumgespielt. Es tut zwar etwas aber bei mir steht immer das Fenster mit Profil Synchronisieren im Weg.
noch nicht rausbekommen wie ich das umgehen kann, habe dann versucht im privat Modus zu starten auch ohne Erfolg.
headless konnte ich die Instanz starten aber wahrscheinlich war da wieder das eine Fenster im weg weil weiter ging der Test ohne das darauf drücken nicht.
vielleicht kannst du darüber den Browser wie gewünscht öffnen und auch wieder beenden lassen, wenn du nicht die selben Problem hast wie ich vielleicht löst du diese gleich.
sry das ich mich so spät zurückmelde aber ich konnte nun endlich weiter programmieren, und AspirinJunkie super Arbeit jetzt verstehe ich auch die _Arraysort Funktion und den sinn dahinter dankeeee!!!
wuhu
Velted deins habe ich noch nicht getestet aber es ist gut wenn hier etwas Code drinnen steht vielleicht kann man das mal gebrauchen jetzt ist aber erstmal der Beitrag abgeschlossen danke an alle für die Hilfe.
@AspirinJunkie :
Es ist größtenteils dein Code, habe es in einer Funktion geparkt, habe es so erweitert das es zu meinem Input File passt.
Dort sind leider Daten drinnen die ich öffentlich nicht preisgeben darf. hier ist nun die Funktion, ich gebe das sortierte erstellte Array zurück & lasse mir danach eine csv Datei mit den den Daten des Arrays erstellen.
Als ich dann die Datei überprüft habe, habe ich das mit der (Datum/Zeit ) Anordnung festgestellt.
Habe danach mir das Array nach dem Return angesehen, dort war es nur zum Teil nach (Datum/Zeit ) angeordnet, ob das nur zufall ist weiß ich nicht <.< um den entgegenzuwirken habe ich dann nochmal das hier auf das Return Array
angewandt, hat aber nicht sehr viel gebracht ^^, oder funktioniert das nur in mit :
?
oder konnte es an der Form des Datums liegen, ich probiere gleich nochmal
habe heute leider viel anders zeug zu tun.
Hier mal der veränderte Code :
#include <MsgBoxConstants.au3>
#include <array.au3>
#include <String.au3>
#include <File.au3>
#include <Date.au3>
;#include <Crypt.au3>
#include <ArrayPlus.au3>
Func Aspirin($file)
Local $aCSV
_FileReadToArray($file, $aCSV, 0, ";")
For $i = 0 To UBound($aCSV) - 1
$aCSV[$i][2] = _GerToCalc($aCSV[$i][2])
;~ $aCSV[$i][2] = StringRegExpReplace($new & ":00", "(\d\d)\/(\d\d)\/(\d{4})\h(\d\d):(\d\d):(\d\d)(.*)", "$3/$2/$1 $4:$5:$6")
Next
_ArraySortFlexible($aCSV, _myComparison)
; 12. Spalte hinzufügen:
ReDim $aCSV[UBound($aCSV)][12]
; Gehe Array durch und markiere die Einträge, welche im 5 Minutenzeitfenster des aktuellen Gerätes liegen
Local $sCurDev = $aCSV[0][4], $sCurrTime = $aCSV[0][2], $iC = 0, $iCounter = 1
For $i = 1 To UBound($aCSV) - 1
; Wenn Zeitdiff < 5 Minuten, dann zum überschreiben markieren (durch Zählererhöhung):
If $aCSV[$i][4] = $sCurDev And _DateDiff("s", $sCurrTime, $aCSV[$i][2]) <= 300 Then
$iC += 1
$iCounter += 1
$aCSV[$i - $iC][11] = $iCounter
ContinueLoop
Else ; neuen Geräte- und Zeitbezug
$sCurDev = $aCSV[$i][4]
$sCurrTime = $aCSV[$i][2]
$iCounter = 1
$aCSV[$i][11] = $iCounter
EndIf
; Element vorverschieben um die Anzahl bereits gelöschter Elemente (somit werden diese überschrieben)
$aCSV[$i - $iC][0] = $aCSV[$i][0]
$aCSV[$i - $iC][1] = $aCSV[$i][1]
$aCSV[$i - $iC][2] = $aCSV[$i][2]
$aCSV[$i - $iC][3] = $aCSV[$i][3]
$aCSV[$i - $iC][4] = $aCSV[$i][4]
$aCSV[$i - $iC][5] = $aCSV[$i][5]
$aCSV[$i - $iC][6] = $aCSV[$i][6]
$aCSV[$i - $iC][7] = $aCSV[$i][7]
$aCSV[$i - $iC][8] = $aCSV[$i][8]
$aCSV[$i - $iC][9] = $aCSV[$i][9]
$aCSV[$i - $iC][10] = $aCSV[$i][10]
$aCSV[$i - $iC][11] = $aCSV[$i][11]
Next
ReDim $aCSV[UBound($aCSV) - $iC][12]
_ArraySort($aCSV, 0, 0, 0, 1)
_ArrayDisplay($aCSV, '$aCSV')
Return $aCSV
EndFunc ;==>Aspirin
Func _myComparison(ByRef $A, ByRef $B)
If $A[0] = $B[0] Then Return StringCompare($A[1], $B[1])
Return StringCompare($A[0], $B[0])
EndFunc ;==>_myComparison
Func _GerToCalc(ByRef $sDate)
Return StringRegExpReplace($sDate, '(\d{2})\.(\d{2})\.(\d{4}) (.+)', '$3/$2/$1 $4')
EndFunc ;==>_GerToCalc
Alles anzeigen
So Leute habe mir am Wachende nichts mehr dazu angeschaut, es kommt immer änderst als man es sich vorstellt
nein leider keine festen Größen es kann sich von Tag zu Tag ändern.
Danke nochmal für den versuch,
Velted :
danke ich schau es mir zuhause nochmal an auf der Arbeit habe ich noch die ältere Version von autoit
@AspirinJunkie :
Genau jetzt stimmt es habe nun auch den Code angepasst das es auch auf der großen Liste funktioniert.
Dabei sind mir 2 Sachen aufgefallen:
1. ab und an mal schreibt er den Counter nicht mit warum weiß ich nicht.
2. Trotz _ArraySort($aCSV, 0, 0, 0, 1) werden nicht alle Daten nach Datum/Zeit geordnet siehe bild.
Aber genauso in der Form habe ich es mir das vorgestellt danke AspirinJunkie.
irgendwie nice, aber ich bekomm es immer noch nicht so hin wie ich möchte.
Die csv war ja eine beispiel Datei, die die ich bearbeiten muss ist um einiges größer.
mit mehreren spalten und Zeilen
; Wenn Zeitdiff < 5 Minuten, dann zum überschreiben markieren (durch Zählererhöhung):
das ist korrekt aber ich brauch den zähler ja nur bei den gefunden doppelten innerhalb 5min das heißt
Bsp. Gerät 1 sendet 7x innerhalb 5min.
veranschaulicht : Row : $i| Col:0| Gerät ; Col:1| Zeit/datum ; Col:2| Anzahl
Endergebnis : Gerät 1 ; 'zeit/datum'; 7
Ich habe es grad etwas versucht es zu erweitern aber anscheint nutze ich etwas falsch, da mit meinen Änderungen,
genau wieder das passiert was mir schon heute Morgen passiert ist.
Entweder wird keine Anzahl geschrieben oder es sind wieder doppelte werte drinnen die eigentlich übersprungen wurden.
Ich werde morgen weiter machen, aber danke für die schnellen Infos euch beiden @AspirinJunkie, @Moombas
mit deinem Skript bekomme ich bei geänderter *csv Fehler im Array angezeigt.
also bei dem ersten Eintrag [0][1]stand da 4:00 <- da wusste ich jetzt nicht wo ich es zuordnenden sollte war das die Zeit?
ps: irgendwie hab ich hier ein Problem mit der Schriftform & größe ich habe alles markiert aber nur ein Teil lässt sich ändern.
Hallo Liebes Forum ,
Ich hänge leider an einem Skript und wollte fragen ob Ihr evtl mir helfen könntet.
Ich habe eine Tabelle, habe diese hier als Beispiel erstellt : example.csv
Ich möchte nun erst die Gerätenamen vergleichen, falls ein gleichnamiges Gerät gefunden wird soll die Entstehungszeit beider Geräte überprüft werden,
Innerhalb von 300sekunden(5min) , sollen dann die doppelten Einträge entfernt werden.
In der neunen Datei soll dann die Anzahl der gefunden doppelten innerhalb der l (5min grenze) gefundenen Einträge stehen.
Hier ist mein Beispiel Skript leider habe ich es bisher noch nicht hinbekommen, das es richtig funktioniert.
#include <MsgBoxConstants.au3>
#include <array.au3>
#include <String.au3>
#include <File.au3>
#include <Date.au3>
Global $vTemp
$file_example = 'example.csv'
example( $vTEMP, $file_example )
Func example( byref $vArray,$file = '' )
Local $i_ = 0 ;anzahl an bearbeitete
Local $date_1, $date_2, $iunterschied
Local $tgereat_1, $tgereat_2, $tage
_FileReadToArray($file, $vArray, 0, ';')
IF @Error Then
ConsoleWrite('Fehler _FileReadToArray: ' &@error& @CRLF)
Exit
EndIf
For $i = UBound($vArray) - 1 To 2 Step -1
$tgereat_1= $vArray[$i][0]
$tgereat_2= $vArray[$i -1][0]
$date_1= $vArray[$i][1]
$date_2= $vArray[$i -1][1]
If $tgereat_1 = $tgereat_2 Then
$date_1= _GerToCalc($date_1)
$date_2 = _GerToCalc($date_2)
$iunterschied = _DateDiff('s', $date_2, $date_1)
;~ $tage = $iunterschied / 86400
If $iunterschied <= 300 Then
$i_ = $i_ + 1
ConsoleWrite('DIFF:'&@TAB & $iunterschied &@TAB &$tgereat_1 &'<->'&@TAB & $tgereat_2 & @CRLF & $date_1 &'-' & $date_2 & @CRLF)
ConsoleWrite('Doppelten Eintrag inerhalb von 5min gefunden, deshalb wird dieser übersprungen.'& @CRLF)
$temp = $tgereat_1 & ';' & $date_1 & ';' & 'anzahl inerhalb 5min'& ';' & $i_ & ';'&@CRLF
$i -1
FileWrite('teeeest.csv', $temp )
EndIf
ElseIf $tgereat_1 <> $tgereat_2 Then
$i_ = 1
$temp = $tgereat_1 & ';' & $date_1 & ';'&'anzahl innerhalb 5min'& ';' & $i_ & ';'&@CRLF
FileWrite('teeeest.csv', $temp )
EndIf
Next
endFunc
Func _CalcToGer(ByRef $sDate)
Return StringRegExpReplace($sDate, '(\d{4})/(\d{2})/(\d{2}) (.+)', '$3.$2.$1 $4')
EndFunc ;==>_CalcToGer
Func _GerToCalc(ByRef $sDate)
Return StringRegExpReplace($sDate, '(\d{2})\.(\d{2})\.(\d{4}) (.+)', '$3/$2/$1 $4')
EndFunc ;==>_GerToCalc
Alles anzeigen
Quelldatei : example.CSV
1-G;10/10/2022 00:10:55
2-G;10/10/2022 00:12
3-G;10/10/2022 00:13
1-G;10/10/2022 00:13:12
4-G;10/10/2022 00:14
1-G;10/10/2022 00:14:00
5-G;10/10/2022 00:14
6-G;10/10/2022 00:14
7-G;10/10/2022 00:14
1-G;10/10/2022 00:20:00
Alles anzeigen
So sollte das Endergebnis aussehen :
als CSV
1-G;10.10.2022 00:10:55;anzahl innerhalb 5min;3;
7-G;10.10.2022 00:14 ;;anzahl innerhalb 5min;1;
6-G;10.10.2022 00:14 ;anzahl innerhalb 5min;1;
5-G;10.10.2022 00:14 ;anzahl innerhalb 5min;1;
4-G;10.10.2022 00:14 ;anzahl innerhalb 5min;1;
3-G;10.10.2022 00:13 ;anzahl innerhalb 5min;1;
1-G;10.10.2022 00:20 ;anzahl innerhalb 5min;1;
Edit : habe das Endergebnis hier angepasst,
das zusätzliche Datum das mit drinnen stand hat hier im Beispiel irritiert, das war aus meiner Original datei.
'Programm Greenshot'
Das ist aber kein Windows Bord mittel sondern ein externes Programm.
Ich hoffe ich habe es richtig verstanden es geht um ein referenzbild oder ?
weil wenn es um die eigentliche Funktion geht kann ich nicht viel beitragen.^^
(davor musst du aber Greenshot ausmachen sonst klappt der shortcut nicht.)
1.ich mache meine Desktopscreenshorts immer mit einem Tastendruck auf 'druck' (print|drucken)
oder für nur Fenster, 'alt+druck' dann wird nur das aktiveFenster ausgewählt.
2.dann öffne ich MSPaint zieh das weiße Kästchen ganz klein und drücke strg+v
3.Wen ich die Koordinaten eines Screens brauch dann wähle ich in Paint 'Auswählen' aus, fahr mit dem Courser dorthin wo ich die Koordinaten brauch und dann werden die mir unten in Paintstatusleiste angezeigt.
Obwohl ich das sehr lange nicht mehr gemacht habe weil die Autoit Windows Info immer gute Dienste geleistet hat was Koordinaten angeht.
Aber vielleicht hast du die Probleme nicht mehr wenn du deine Bilder mit Paint erstellst statt Greenshot, vielleicht verfälscht greenshort irgendwie die größe warum auch immer?
edit: ok glaub ich habs jetzt verstanden ...
Moombas :nun ja wenn er damit Probleme hat wollte ich ihm nur eine zweite Möglichkeit aufzeigen an der ich zufällig gestern dran gearbeitet habe.
Außerdem bitte korrigiere mich wenn ich falsch liege zumindestens ich habe es nicht hinbekommen den ini inhalt in verschlüsselten dateien mit Iniread auszulesen.