Hat denn das neue Fenster einen konstanten Text, der sich vom Main-Fenster unterscheidet?
Dann könntest du in WinGetTitle() diesen Text als Lokator verwenden.
Beiträge von BugFix
-
-
Ebenfalls :willkommen:
Wie sieht es denn mit
[autoit]WinGetTitle("")
[/autoit]aus ?
Gibt das aktive Fenster zurück. -
Mit dieser Variante läßt sich de facto ein Doppelklick auf jedes x-beliebige Control abfragen.
Die Doppelklickgeschwindigkeit könnte man auch aus der Einstellung des PC auslesen und verwenden. So reichts aber auch. -
So, hier meine Lösung.
Die Doppelklickgeschwindigkeit kannst du bei Bedarf anpassen ( TimerDiff($start) ).
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
Opt("MouseCoordMode", 0) ; WICHTIG, Maus-Koordinaten relativ zum Fenster
Dim $start, $n = 0, $MousePos = True
Dim $lb_left = 144, $lb_top = 108, $lb_width = 36, $lb_height = 17
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 454, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_PRdown')
GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_PRup')
$Label1 = GUICtrlCreateLabel("Label1", $lb_left, $lb_top, $lb_width, $lb_height)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _PRdown()
[/autoit] [autoit][/autoit] [autoit]
$pos = MouseGetPos()
If ($pos[0] >= $lb_left And $pos[0] <= $lb_left + $lb_width) And _
($pos[1] >= $lb_top +20 And $pos[1] <= $lb_top +20 + $lb_height) Then
$n += 1
$MousePos = True
If $n = 2 And (TimerDiff($start) < 120) Then
_LblDblClick()
Else
$start = TimerInit()
$n = 1
EndIf
Else
$MousePos = False
EndIf
EndFuncFunc _PRup()
[/autoit]
If $MousePos Then
If $n = 2 Then
$n = 0
Else
$start = TimerInit()
EndIf
EndIf
EndFunc
Func _LblDblClick()
MsgBox(0, '', 'Hurra Doppelklick')
EndFunc -
Oder vielleicht hilft dir das weiter: Benutze die Befehle aus der "Word.au3"
Damit kannst du folgendes tun:Spoiler anzeigen
Code
Alles anzeigenUser Defined Function Description _Word_VersionInfo Returns an array of information about the Word.au3 version _WordAttach Attach to the first existing instance of Microsoft Word where the search string matches based on the selected mode. _WordCreate Create a Microsoft Office Word Object _WordDocAdd Returns an object variable representing a new empty document _WordDocAddLink Add a hyperlink to the document _WordDocAddPicture Add a picture to the document _WordDocClose Closes a previously opened word document _WordDocFindReplace Runs the specified find and replace operation. _WordDocGetCollection Returns a collection object containing all documents _WordDocLinkGetCollection Returns a collection object containing all links in the document _WordDocOpen Opens an existing Microsoft Word Document _WordDocPrint Prints all or part of the specified document. _WordDocPropertyGet Returns a select property of the Word Document. _WordDocPropertySet Set a select property of the Word Document _WordDocSave Saves a previously opened document _WordDocSaveAs Saves the specified document with a new name or format. _WordErrorHandlerDeRegister Disable a registered user COM error handler _WordErrorHandlerRegister Register and enable a user COM error handler _WordErrorNotify Specifies whether Word.au3 automatically notifies of Warnings and Errors (to the console) _WordMacroRun Runs a Visual Basic macro _WordPropertyGet Returns a select property of the Word Application. _WordPropertySet Set a select property of the Word Application. _WordQuit Close the window and remove the object reference to it -
Ich habe gerade mal 'nen Artikel für unsere Regionalzeitung verfaßt.
Bin seeeehr neugierig, ob das gedruckt wird.Spoiler anzeigen
ZitatAlles anzeigenzum Thema: Online Durchsuchung
Es ist doch schon erstaunlich, mit wieviel Unwissenheit (oder sollte man schon von Dummheit sprechen?) unsere Politiker geschlagen sind, die sich für die Abschaffung freiheitlich-demokratischer Grundrechte (nichts anderes stellt das Gesetz zur Online Durchsuchung dar) stark machen.
Dieses Gesetz wird mit Sicherheit ausschließlich den PC-Normalbenutzer treffen, der sich nicht allzu intensiv mit Schutzmaßnahmen für seinen PC beschäftigt.
Wie wird ein Terrorverdächtiger handeln? Da er um die Brisanz seiner Tätigkeit weiß, trifft er natürlich Vorsorge.
Der einfachste Weg ist doch schon, dass er im Internet ausschließlich surft, wenn sein PC mit einer sogenannten 'Live-CD' gestartet wird.
Damit existiert kein Zugriff auf die Hardware (also Festplattenspeicher) des PC und der einzuschleusende Bundestrojaner ist absolut wirkungslos, da er nicht auf dem Ziel-PC gespeichert werden kann.
Es gibt natürlich auch andere Wege sich davor zu schützen. Z.B. wenn das Betriebssystem in einer virtuellen Umgebung läuft. Da kann ich mir aber durchaus vorstellen, dass unsere grundgesetz-aufweichende Regierung als nächstes solche Software auf den Index setzt.
Eher schmunzeln musste ich bei der Ankündigung, dass der Trojaner mit Hilfe von Behörden-Mails eingeschleust werden soll.
Man muss doch schon völlig ahnungslos sein, wenn man eMails von 'Banken' oder 'Behörden' ernst nimmt. Die stehen ganz oben in meiner Junk-Filter-Liste und werden sofort in den Papierkorb verschoben.
So traurig es ist, aber wenn der Staat seine Aufgabe, die Grundrechte der Bürger zu schützen, ins Gegenteil verkehrt, sollte jeder Computernutzer alle zur Verfügung stehenden Sicherheitstechniken zwingend anwenden.
Z.B. Verschlüsselung privater Daten, keine Standardmailprogramme verwenden, sondern alternative Programme, die sich portabel installieren lassen und somit das Ausspähen gespeicherter Adressen erschweren.
Mehr Angaben zum Thema PC-Sicherheit findet man in großer Zahl im Internet.
Da unsere Volksvertreter anscheinend lieber das Volk treten als es zu vertreten, wird diese Gesetzesvorlage mit Sicherheit durchgewinkt.
Somit bleibt uns nur die Hoffnung auf den Bundesgerichtshof, dass dort unter Verweis auf das (noch) bestehende Grundgesetz, diesem Treiben ein Ende gesetzt wird.
Ich persönlich sehe derzeit die größte Gefährdung der freiheitlich-demokratischen Grundordnung eher duch die Herren Schäuble & Co. -
Mit IniReadSection() bekommst du alle Paarungen einer Sektion in einem Array.
-
Du kannst bestimmte Tasten mit _IsPressed() abfragen.
Eine Lösung, die reagiert, wenn eine Taste gedrückt wird und dann deren Wert zurückgibt, habe ich glaube ich von gafrost im englischen Forum gesehen. -
Im Klartext: Keylogger!!
Da wirst du keine Antwort bekommen.
-
Folgendes Problem:
Ich muß eine Möglichkeit finden auf unseren Kundenrechnern (Win 2000) einen zeitgesteuerten ShutDown zu installieren.
Die haben neuerdings alle Personalprobleme und wollen, dass nicht extra jemand zum Abschalten des Systems da sein muß (Nachtarbeit).
Die laufende Software darf aber nur eine maximale Zeitspanne aufzeichnen, wenn es hinterher automatisch ausgewertet werden soll.Die Schwierigkeit besteht darin, dass dann noch eine Software läuft, die ich ohne manuellen Eingriff bisher nicht 'killen' konnte.
Auf automatisierten Eingriff mittels ControlClick reagiert die Software leider nicht.
ProcessClose() bringt mir nur 'ne Windowsmeldung '...eine Anwendung konnte nicht geschlossen werden..' (sehr resistent die Anwendung)Gibt es eine Möglichkeit den Shutdown zu erzwingen und alle Prozesse zu killen?
Ähnlich wie unter WinXP: %windir%\system32\shutdown.exe -s -t 00 -f
Obwohl das auch nicht für alle Anwendungen funktioniert.Bin für jede Idee dankbar.
-
[autoit]
WinWait ("Password Richtig")
[/autoit]Was soll das denn ?
Wenn du die MsgBox zeigst, pausiert das Programm. Nach Klicken auf OK läuft das Skript weiter.
Welchen Zweck soll jetzt WinWait haben?
-
z.B. so:
[autoit]$OK = 0
[/autoit]
Do
If InputBox("PW", "Gib PW ein!!^^") = "wehioewr" Then
$OK = 1
;entsperren
Endif
Until $OK = 1 -
Dann verwende eine INI, in der die Werte verschlüsselt gespeichert werden.
Deinem Admin gibst du ein Programm, dass eine verschlüsselte INI generieren kann.
Im eigentlichen Programm verwendest du den gleichen Schlüssel zum Entschlüsseln der INI-Werte. -
Den Registry-Wert kannst du so auslesen:
[autoit]$wert = RegRead('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001', 'SpeedDuplex')
[/autoit]Brauchst du dann nur vergleichen mit deiner Variablen.
-
If GUICtrlRead ($CheckBox) = $GUI_CHECKED Then ... ; liefert Wahrheitswert TRUE
oder den Rückgabewert:
- unchecked = 1
- checked = 4 -
Vor allem läuft dieser Bundestrojaner doch sowieso ins Leere.
Was macht der clevere Terrorverdächtige? - Er surft nur mit Live-CD von einer Workstation, die nicht mal 'ne HD hat. Da können tausend Trojaner vor der Tür stehen, völlig sinnlos.
Und da nur Windoof-Normal-User sich wenig Sorgen um seine Sicherheit macht, hat er diesen Trojaner als erstes drauf.
Was ich allerdings witzig fand - der Trojaner soll auch in Behördenmails vertseckt werden.
Hähhh... ? - Behördenmails ? - Das ist doch das erste was ungelesen im Spamordner landet, ebenso wie 'Bank'-Mails. -
Hmm, hab ich gar nicht dran gedacht. Blöde Leerzeichen

Und ich kann es nicht mal beeinflussen "..\Dokumente und Einstellungen\.."
Sch....önes Windoof
-
Yep, das klappt. Thx.
Aber, bei Verwendung von Makros hakt es trotzdem:
[autoit]$file = @HomeDrive & '\netadapter.cfg' ; Das klappt
[/autoit][autoit][/autoit][autoit]
$file = @ScriptDir & '\netadapter.cfg' ; Das klappt nicht$cmd = 'netsh interface ip show config >' & $file
[/autoit] -
Also ich krieg gerade noch mehr graue Haare, als ich eh schon habe.

Ich möchte das Ergebnis eines Befehls aus der Console in eine Datei umleiten.
[autoit]
Schreibe ich den Namen der Zieldatei als String in den Befehlsaufruf, funktioniert das auch.
Ist die Zieldatei aber in einer Variablen schlägt der Befehlsaufruf fehl, obwohl eine Ausgabe des zusammengesetzten Befehls zeigt, dass dieser korrekt ist.; Funktioniert nicht:
[/autoit]
$file = 'D:\netadapter.cfg'
$cmd = 'netsh interface ip show config >' & $file
ConsoleWrite('$cmd = ' & $cmd & @CR) ; Befehl ist OK
Run($cmd, @SystemDir, @SW_HIDE)
; Datei wird nicht erstellt
;
;
; ABER so funktioniert es:
$cmd = 'netsh interface ip show config >D:\netadapter.cfg'
Run($cmd, @SystemDir, @SW_HIDE)
; Datei wird erstelltWo ist jetzt der Fehler?

EDIT:
Ich hatte mir jetzt folgende Notlösung gebaut:
[autoit]$file = "D:\netadapter.cfg"
[/autoit]
$cmd = 'netsh interface ip show config'
$foo = Run($cmd, @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$fh = FileOpen($file, 1)
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
FileWriteLine($fh, $line)
WendDer Nachteil: Die Ausgabe ist nicht konform zur Monitorausgabe und der mit Umleitung erzeugten Datei
CodeKonfiguration der Schnittstelle ""LAN-Verbindung 3"" DHCP aktiviert: Ja Schnittstellenmetrik: 0 Durch DHCP konfigurierte DNS-Server: Keine [gehört ans Ende der vorige Zeile] Durch DHCP konfigurierte WINS-Server: Keine [gehört ans Ende der vorige Zeile] Mit welchem Suffix registrieren: Nur prim„res -
Fast richtig

StringIsAlNum($var) erkennt numerisch in String, also True für '0'