Als Workaround könntest du vllt Bildsteuerlemente nehmen. Hier im Forum war auch mal ein Skript dazu wenn ich mich recht erinner.
Beiträge von Bitboy
-
-
Ich würde die Seriennummer vom Board nehmen. Das Board wird so gut wie nie getauscht und die nummer ist eindeutig.
Lässt sich recht einfach per WMI auslesen. AFAIK hatte Oscar mal sowas.Je nachdem was du vorhast können MAC-Adressen zu problemen führen wenn ein Rechner mehrere Netzwerkgeräte hat.
-
Danach auch neu gestartet?
-
Hast du schonmal hier
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Beepversucht den Start Eintrag auf 0 zu setzen?
-
OK, ich glaub ich habs.
WinGetText("TeamViewer", "ID")
Der zweite Parameter muss scheinbar mit angegeben sein sonst gehts nicht, obwohl ich kein anderes Fenster mit dem Titel aufhab.
mfg
-
Danke, bekomme aber auch bei diesem Befehl nur eine leere MessageBox.
Müssten die Funktionen nicht denselben Text wie das WindowInfo Tool auslesen können?
-
Ich versuche gerade die Software TeamViewer zu automatisieren.
Das AutoItWindowInfo Programm zeigt nach nach dem Start die enthaltenen Texte richtig an,
allerdings ist es nicht möglich die mit ControlGetText richtig auszulesen.Gibt es eigentlich eine Funktion die alle in einem Fenster enthaltenen Texte zurückgibt?
[autoit]
So wie das WindowTool unter dem Tab "Visible Text"?MsgBox(0, "test", ControlGetText("TeamViewer", "", "Static9"))
[/autoit] -
So wie ich das verstanden hab nicht. Die Basisdaten müssen ja "von zeit zu zeit" angepasst werden.
Also kann auch das 2. Datum über die Basisdateien ermitelt werden. -
Die einzige externe Quelle für die Uhrzeit scheinen demnach die Basisdaten zu sein.
Was würde dagegen sprechen einen verschlüsselten hash zu speichern?
Das programm kann dann anhand dessen prüfen ob sie von dir selbst sind. und ebenfalls zu welchem datum die erstellt wurden.
mit 2mal basisdaten aktualisieren hast du also ne messbare und meiner meinung nach nicht manipulierbare zeitmessung.
(etwas ungenau aber für den zweck reicht es) -
Bei den Professional Versionen kann man Startskripte definieren. Die werden beim Rechnerstart, noch vor der Benutzeranmeldung ausgeführt.
Zu dem Zeitpunkt ist auch die UAC noch inaktiv.UAC-Fenster automatisch wegklicken sollte nicht gehen, damit Schadprogramme sich nicht einfach selbst die nötigen Rechte geben können.
-
Ist Richtig, dass WMI von XPE unterstützt wird.
Für Systeme mit sehr wenig RAM hab ich zusätzlich eine andere Shell und die unterstützt WMI leider nicht.
Wenn möglich, würde ich es gern in beiden Nutzen können.
-
Hallo zusammen.
Ich hab folgendes Problem: Im Programm WinSetupfromUSB gibt es folgende Funktion:Spoiler anzeigen
[autoit]Func _GetUSBDrivesInfo()
[/autoit] [autoit][/autoit] [autoit]
Local $USBDlettersInfo[1][9], $NrOfFoundUSB = 0, $dp, $HasBootPart
Local $strComputer = ".", $objDrive, $strDeviceID, $colPartitions, $objPartition, $colLogicalDisks, $objLogicalDisk
Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
If Not IsObj($objWMIService) Then
Logging("WMI appears to be broken")
$msg = MsgBox(4+48, "Warning !", "WMI (Windows Management Instrumentation) seems to be not working. It's needed to obtain USB disk properties." _
& @CRLF & "Press YES to visit a web page, describing how to repair it, or NO to exit the program")
If $msg = 6 Then
Run(@ComSpec & " /c " & 'start http://windowsxp.mvps.org/repairwmi.htm', "", @SW_HIDE)
Logging("WMI repair web page opened, closing program")
Quit()
Else
Logging("WMI repair web page refused, closing program")
Quit()
EndIf
EndIf
Local $colDiskDrives = $objWMIService.ExecQuery("Select * from Win32_DiskDrive Where (InterfaceType like " & chr(34) & "%USB%" & chr(34) & ")")
For $objDrive In $colDiskDrives
$HasBootPart = 0
Logging( "Found USB Physical Disk: " & $objDrive.Caption & " -- " & $objDrive.DeviceID)
$strDeviceID = StringReplace($objDrive.DeviceID, "\", "\\")
Local $colPartitions = $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & $strDeviceID & """}" _
& "WHERE AssocClass = Win32_DiskDriveToDiskPartition")
;check if this disk has bootable partitions
For $objPartition In $colPartitions
If $objPartition.Bootable = -1 Then
$HasBootPart = 1
ExitLoop
EndIf
Next
If $HasBootPart = 1 Then
For $objPartition In $colPartitions
Logging( "Found USB Disk Partition: " & $objPartition.DeviceID)
$colLogicalDisks = $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & $objPartition.DeviceID & """}" _
& "WHERE AssocClass = Win32_LogicalDiskToPartition" )
For $objLogicalDisk In $colLogicalDisks
Logging( "Found USB Logical Disk: " & $objLogicalDisk.DeviceID & " File system: " & $objLogicalDisk.FileSystem _
& " Bootable: " & $objPartition.Bootable)
$NrOfFoundUSB += 1
$USBDlettersInfo[0][0] = $NrOfFoundUSB
ReDim $USBDlettersInfo[$NrOfFoundUSB + 1][9]
$USBDlettersInfo[$NrOfFoundUSB][0] = $objLogicalDisk.DeviceID
$USBDlettersInfo[$NrOfFoundUSB][1] = StringReplace($objDrive.Caption, "USB device", "")
$dp = StringSplit($objPartition.DeviceID, ",")
$USBDlettersInfo[$NrOfFoundUSB][2] = StringRegExpReplace($dp[1], "[^0-9]", "")
$USBDlettersInfo[$NrOfFoundUSB][3] = StringRegExpReplace($dp[2], "[^0-9]", "")
$USBDlettersInfo[$NrOfFoundUSB][4] = Round(DriveSpaceTotal($objLogicalDisk.DeviceID), 0)
$USBDlettersInfo[$NrOfFoundUSB][5] = Round(DriveSpaceFree($objLogicalDisk.DeviceID), 0)
$USBDlettersInfo[$NrOfFoundUSB][6] = DriveGetType($objLogicalDisk.DeviceID)
$USBDlettersInfo[$NrOfFoundUSB][7] = $objLogicalDisk.FileSystem
;$USBDlettersInfo[$NrOfFoundUSB][8] = $objPartition.BootPartition
$USBDlettersInfo[$NrOfFoundUSB][8] = $objPartition.Bootable
;array is in format--> DriveLetter | Name | Disk# | Part# | TotalSpace | FreeSpace | DriveType | FileSystem | Bootable(-1) or Not (0)
Next
Next
EndIf
NextReturn $USBDlettersInfo
[/autoit]
EndFunc ;==>__GetUSBDrivesInfo()Das Programm würde ich gern unter WinPE benutzen, allerdings steht da die WMI nicht zur Verfügung.
Welche API bräuchte ich um die Funktion umzuschreiben? -
schonmal mit inetget versucht?
eventuell kannst du auch mal wireshark installieren und gucken was da schief läuft.
-
Die Funktionen von AutoIt arbeiten nicht mit den Steuerlementen SysTreeView und SysListView zusammen.
Gibt auch schon einen Bug-Report/Feature Request dazu: http://www.autoitscript.com/trac/autoit/ticket/1607
In dem Beitrag ist auch ein Link. Vielleicht funktioniert die Lösung ja auch bei dem Control.
-
Wenn du die Reihenfolge der GUIs umkehrst geht es.
Kann mir das nur so erklären, dass Steuertasten immer an die erste GUI zur Auswertung gesendet werden.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <IE.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$GUI2 = GUICreate("2",200, 200,10,10,0)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateInput("",10,10,300)GUISetState()
[/autoit] [autoit][/autoit] [autoit];#include "GUIScrollbars_Ex.au3"
[/autoit] [autoit][/autoit] [autoit]
$GUI = GUICreate("Test",1350, 700,default,default,$WS_CLIPCHILDREN )
$object = ObjCreate("Shell.Explorer.2")
$object_ctrl = GUICtrlCreateObj($object, 300, 100, 800, 400)
GUISetState()_IENavigate($object, "http://google.de")
[/autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd -
Wenn man das Bild zum Beispiel in ein Video einbettet muss allerdings drauf geachtet werden, dass die Komprimierung verlustfrei ist.
Sonst hat man nur noch Datenmüll. -
Wenn ich das richtig verstanden hab, dann benötigt man bei deinem Algo das Original Icon nicht mehr um den Text wiederzubekommen.
Damit würde die Sicherheit des Verfahrens allein davon abhängen ob der Algo bekannt ist.
Ich kenn Steganographie nur in der Art, dass man auch beide Bilder wieder zum "entschlüsseln" benötigt.
Weil man davon ausgehen muss, dass dem "Feind" der Algorithmus in die Hände fällt. -
Von Microsoft gibts das Sync Toy kostenlos, lässt sich auch mit parametern steuern.
Um den USB-Stick zu erkennen kann man die Registry benutzen:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\EnumDa wird für jeden angeschlossenen Stick ein neuer Eintrag angelegt, und wieder entfernt wenn der USB-Stick abgezogen wird.
-
Alles Gute! Lass es krachen
-
Vor wievielen Jahren ist das passiert? Ich mein wo gibts das denn noch dass DSL nach Minuten abgerechnet wird, wo man ne Flat für 30 Euro bekommt?