Es darf immer noch geholfen werden ...![]()
Beiträge von Tweaky
-
-
folgendes stammt von Professor Bernd aus dem alten Fehlerthread.
Ich habe es hierher kopiert, damit es auf die richtige Hilfe verweist.
Zitat von Professor Bernd Funktion GUICtrlCreateEdit
Falsch: Erstellt ein (mehrzeiliges) Input-Control für die GUI.
Richtig: Erstellt ein (mehrzeiliges) Edit-Control für die GUI.
Zitat von BugFix
Darüber lässt sich herrlich streiten.
Aus AutoIt Sicht halte ich die Definition für korrekt.
Denn strenggenommen ist das Input-Ctrl nur ein einzeiliges Edit. Und somit erhält die obige Definition für den Umkehrschluß volle Berechtigung.Gerade habe ich die Au3Info.exe benutzt und das was BugFix schreibt, wird dort bestätigt: Die Inputbox ist ein (einzeiliges) Edit. Somit ist mein Hinweis korrekt:
Zu Funktion GUICtrlCreateEdit ist:
Falsch: Erstellt ein (mehrzeiliges) Input-Control für die GUI.
Richtig: Erstellt ein (mehrzeiliges) Edit-Control für die GUI.
Begründung:
Ein Input ist ein (einzeiliges) Edit.
Ein Edit ist ein (mehrzeiliges) Edit.
Ein Edit ist NICHT ein (mehrzeiliges) Input!
Meines Wissens gibt es kein mehrzeiliges Input, oder?
Bernd.
-
-
Hi,
es gibt eine neue Version der deutsch / englischen Hilfe für AutoIt 3.3.14.5.
deutsche Hilfe / deutsche au3.api / deutsche Beispiele
Schaut euch die Hilfe bitte genau an.
Fehler könnt ihr dann hier melden.
Gibt es eine deutsche Funktionsbeschreibung, so wird diese direkt angezeigt und man kann man durch das Flaggen-Symbol rechts oben von deutsch auf englisch umstellen.
Gibt es noch keine deutsche Funktionsbeschreibung so wird direkt die englische Funktionsbeschreibung angezeigt.
Diese Dateien können hier übersetzt werden.
Danke an alle Übersetzer und Helfer.
Viel Spaß damit
-
Diese Funktion ist ja noch gar nicht übersetzt, also kann ich nichts ändern ...
-
-
Oh man, warum so einfach

Danke

-
Danke für die optimierte udf.
Leider habe ich trotzdem ein Problem:
Bei dem folgenden Skript rufe ich die Funktion 1x beim Start auf.
Dies funktioniert.
Wenn ich den USB-Stick abziehe kommt Fehler 1 >>> logisch
Wenn ich den USB-Stick wieder anschließe kommt Fehler 2 >>> warum???
AutoIt
Alles anzeigen#Region ;************ Includes ************ #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <Array.au3> #include <WinAPIFiles.au3> #EndRegion ;************ Includes ************ GUICreate("Test", -1, -1, 0, 0) ;Deklarierung MY_WM_DEVICECHANGE (Laufwerk hinzu oder entfernt) Global Const $DBT_DEVICEARRIVAL = 0x8000 ; A device or piece of media has been inserted and is now available. Global Const $DBT_DEVICEREMOVECOMPLETE = 0x8004 ; A device or piece of media has been removed. GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE') ;Laufwerk hinzu oder entfernt _test() Func MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam) #forceref $hWnd, $Msg, $lParam Switch $wParam Case $DBT_DEVICEARRIVAL ;Laufwerk hinzu _test() Case $DBT_DEVICEREMOVECOMPLETE ;Laufwerk entfernt _test() EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>MY_WM_DEVICECHANGE Func _test() $sDrive = 'r:' $Ret = _GetDriveInfo($sDrive) If IsArray($Ret) Then _ArrayDisplay($Ret, 'Informationen über Laufwerk "' & $sDrive & '"') Else MsgBox(0, 'Fehler', $Ret) EndIf EndFunc ;==>_test While 1 Sleep(10) WEnd ;=============================================================================== ; Function Name: _GetDriveInfo($sDrive) ; Description:: Erweiterte Informationen zu einer Festplatte/USB-Stick ; Parameter(s): $sDrive = Laufwerksbuchstabe ; Requirement(s): --- ; Return Value(s): 2D-Array mit Bezeichnung und Wert (siehe Beispiel) ; Author(s): Oscar (http://www.autoit.de) ;=============================================================================== Func _GetDriveInfo($sDrive) Local Const $aBusType = StringSplit('UNKNOWN,SCSI,ATAPI,ATA,1394,SSA,FIBRE,USB,RAID,ISCSI,SAS,SATA,SD,MMC,Virtual,FileBakVirtual,Spaces,NVMe,SCM,UFS,MAX,MAX Res', ',', $STR_NOCOUNT) $sDrive = StringRegExpReplace($sDrive, '(?i)(.*)([a-z]{1}:)(.*)', '$2') Local $sDriveType = DriveGetType($sDrive) If $sDriveType <> 'Fixed' And $sDriveType <> 'Removable' Then SetError(1, 0, 1) If Not FileExists($sDrive) Then Return SetError(1, 0, 1) Local $wbemFlagReturnImmediately = 0x10 Local $wbemFlagForwardOnly = 0x20 Local $colItems = '' Local $aPartition, $aPhysicalDrive, $aOut[14][2] $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2') If Not IsObj($objWMIService) Then Return SetError(2, 0, 2) $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_LogicalDiskToPartition', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If StringInStr($objItem.Dependent, '"' & $sDrive & '"') Then $aPartition = StringRegExp($objItem.Antecedent, 'DeviceID="(.*)"', 3) EndIf Next EndIf If Not IsArray($aPartition) Then Return SetError(3, 0, 3) $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDriveToDiskPartition', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If StringInStr($objItem.Dependent, '"' & $aPartition[0] & '"') Then $aPhysicalDrive = StringRegExp($objItem.Antecedent, 'DeviceID="(.*)"', 3) EndIf Next EndIf If Not IsArray($aPhysicalDrive) Then Return SetError(4, 0, 4) Local $iBus = _WinAPI_GetDriveBusType($sDrive) $aPhysicalDrive[0] = StringReplace($aPhysicalDrive[0], '\\', '\') $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDrive', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If StringInStr($objItem.DeviceID, $aPhysicalDrive[0]) Then $aOut[0][0] = 'Volume-Label' $aOut[0][1] = DriveGetLabel($sDrive) $aOut[1][0] = 'Serial-Nr. (Volume)' $aOut[1][1] = DriveGetSerial($sDrive) $aOut[2][0] = 'Model' $aOut[2][1] = $objItem.Model $aOut[3][0] = 'Serial-Nr. (Drive)' $aOut[3][1] = $objItem.SerialNumber $aOut[4][0] = 'Interface' $aOut[4][1] = $aBusType[$iBus] $aOut[5][0] = 'Size' $aOut[5][1] = _WinAPI_StrFormatByteSizeEx($objItem.Size) $aOut[6][0] = 'Media Type' $aOut[6][1] = StringRegExpReplace($objItem.MediaType, '[^[:print:]]', ' ') $aOut[7][0] = 'Total Cylinders' $aOut[7][1] = $objItem.TotalCylinders $aOut[8][0] = 'Total Heads' $aOut[8][1] = $objItem.TotalHeads $aOut[9][0] = 'Total Tracks' $aOut[9][1] = $objItem.TotalTracks $aOut[10][0] = 'Total Sectors' $aOut[10][1] = $objItem.TotalSectors $aOut[11][0] = 'Tracks Per Cylinder' $aOut[11][1] = $objItem.TracksPerCylinder $aOut[12][0] = 'Sectors Per Track' $aOut[12][1] = $objItem.SectorsPerTrack $aOut[13][0] = 'Bytes Per Sector' $aOut[13][1] = $objItem.BytesPerSector EndIf Next EndIf $objWMIService = '' Return $aOut EndFunc ;==>_GetDriveInfo -
Hi,
ich war auch der Suche nach dem auslesen der Identifikation einer HDD (Seriennummer oder so, _GetDriveSerial reicht mir nicht aus).
Dabei bin ich auf die Funktion _GetDriveInfo von Oscar gestoßen.
Gibt es sowas mittlerweile direkt in AutoIt integriert?
Oder ist diese Funktion noch aktuell?
-
-
-
-
-
-
-
-
-
-
OK, danke dann werde ich dies so verwenden

-
OK, als Rahmenbreite kommt x=8 und y=8 raus.
Bei WinMove ziehst du noch 1 ab, so dass du auf 7 kommst. Hast das gemacht, weil ich geschrieben habe, dass 7 richtig ist?