Beiträge von Velted
-
-
Moin Alina,
möglicherweise fehlt Deinem Computer sein 'Standarddisplay'. Früher waren viele Computer so voreingestellt, dass sie ohne Display nicht booten.
Meiner Erfahrung nach empfiehlt es sich, bei Multidisplaysystemen die Einstellungen zu ändern, bevor man ein Display entfernt.
-
Aus Beitrag #16:
Code[implemented] void SetBIOSSetting( [out, ...] uint32 Return, [in] string Name, [in] string Value, [in, optional] string Password);
Für den Namensraum root\HP\InstrumentedBios hat die Methode SetBIOSSetting 4 Parameter. Der letzte ist optional und wird nicht benötigt, wenn kein BIOS-Passwort vergeben wurde. Der Rückgabewert Return ist eine Zahl (32 Bit ohne Vorzeichen).
Im Netz findet man auch Beispiele mit 2 Parametern, die beziehen sich aber nicht auf HP. Für Lenovo z.B gibt es den Aufruf SetBIOSSetting($strRequest, $strReturn).
Moombas : Das von Dir gefundene Beispiel mit den Leerzeichen bezieht sich auf die Parameterübergabe für ein Batch-Script.
-
Moin,
wenn Return tatsächlich der erste Parameter des Methodenaufrufs ist, wären es 4 Parameter und @Oscars Vorschlag sollte eigentlich funktionieren:
Code$objItem.SetBiosSetting($strReturn, "TPM Activation Policy", "No prompts", "<utf-16/>" & $sPwd2)
Wenn ich mir allerdings die anderen Beispiele so ansehe, habe ich Zweifel, ob $SB_UTF16BE die korrekte Codierung liefert.
-
-
Moin!
CodeobjItem.SetBiosSetting oReturn, _ "TPM Activation Policy", _ "No prompts", _ "<utf-16/>itrepair"
Wenn mich meine VBS-Erinnerungen nicht täuschen, sehe ich da oben 4 Parameter:
- eine nicht im eingestellten Scriptcode definierte Variable oReturn
- den String "TPM Activation Policy"
- den String "No prompts"
- und den String "<utf-16/>itrepair"
-
Steht doch eindeutig drin:
Na ja:
Zitat von AutoIt HilfeFunction FileWrite
Write text/data to the end of a previously opened file.
Ok, das trifft für mich erst einmal nicht zu, weil ich die Datei nicht vorher geöffnet habe. Wenn man aber das noch berücksichtigt
ZitatFunction FileWrite
If a filename is given rather than a file handle, the file will be opened and closed during the function call.
und beide Aussagen zusammenführt, ergibt sich eine klare und eindeutige Aussage. Es scheint kaum möglich, das eindeutiger zu formulieren.
-
2. Wird nur Filewrite genutzt, wird an das Ende der Datei der Text angehängt anstatt ihn mit dem neuen Inhalt zu ersetzen.
Das hatte ich nicht mehr im Hinterkopf. FileWrite() ersetzt also das gute alte FileAppend (wie es in AutoHotkey noch immer existiert).
Es wäre nicht falsch, wenn die Hilfe-Datei darauf hinweisen würde.
-
Ich habe nicht gesagt, FileOpen() würde dann nichts finden. Ich habe gesagt FileRead().
Und noch was:
AutoItFunc _Form3() local Const $Filename = @ScriptDir & "\test.txt" local $file = FileOpen($Filename) ... global $iEdit = GUICtrlCreateEdit(FileRead($file), 0, 0, 500, 400, $ES_WANTRETURN + $WS_VSCROLL + $ES_AUTOVSCROLL + $ES_MULTILINE + $WS_TABSTOP) ... FileClose($file)
ist identisch mit
AutoItFunc _Form3() local Const $Filename = @ScriptDir & "\test.txt" ... global $iEdit = GUICtrlCreateEdit(FileRead($Filename), 0, 0, 500, 400, $ES_WANTRETURN + $WS_VSCROLL + $ES_AUTOVSCROLL + $ES_MULTILINE + $WS_TABSTOP) ...
FileOpen() mit Standardwerten bringt hier keinen Vorteil, erfordert aber ein FileClose().
AutoItCase $hButton $file = FileOpen($Filename, $FO_OVERWRITE) If FileWrite($Filename, GuiCtrlRead($IEdit)) Then ... Endif FileClose($file)
sollte in der Funktion FileWrite() $file benutzen oder (wie oben) die Funktionen FileOpen() und FileClose() weglassen.
-
Zitat von FileWrite() -> Remarks
If a filename is given rather than a file handle, the file will be opened and closed during the function call.
Zitat von FileOpen()$FO_OVERWRITE (2) = Write mode (erase previous contents)
Moombas, wenn Du die Datei mit $FO_OVERWRITE öffnest, wird der anschließende Aufruf von FileRead() nicht viel finden.
-
Moin Moombas,
das Zitat aus Deinem lBeitrag #25 gilt meiner Meinung nach auch für FileWrite().
FileOpen() ist für mich nur da wichtig, wo wiederholt auf Teile der Datei zugegriffen werden soll oder die Codierung vom Standard abweicht.
-
Moin,
in diesem Fall wird die Datei ja immer komplett gelesen bzw. geschrieben. Es macht für mich deshalb nicht viel Sinn, per FileOpen() ein Dateihandle zu erzeugen, das dann doch gleich wieder geschlossen werden muss.
FileRead() und FileWrite() akzeptieren auch den Dateinamen. Das scheint mir hier die bessere Option.
-
Moin,
Es wirkt auf mich eher wenig 'dynamisch', wenn Arrayelemente fest mit den Buttons verbunden sind. Wo besteht für Dich der Vorteil?
-
BugFix , Wunder über Wunder! Danke!
(Das sollte schon gestern rausgehen!)
-
BugFix :
Code$tXYZ = DllStructCreate($tagXYZ) $tXYZ.X = $X $tXYZ.Y = $Y $tXYZ.Z = $Z $aXYZ[$i-1] = $tXYZ Return $aXYZ ConsoleWrite($aResult[0].X & @CRLF)
Wo ist diese Syntax (ohne DllStructGetData()) beschrieben?
-
Moin,
ich habe absolut keine Ahnung und habe Outlook auch noch nie benutzt. Aber ich habe ein Beispiel und einige vielleicht hilfreiche Links gefunden:
HTML
Alles anzeigenpublic void SendEmailViaOutlook() { String htmlTemplate = "<html>\n"; htmlTemplate += " <head>\n"; htmlTemplate += " <style type=\"text//css\">\n"; htmlTemplate += " #Header {border-width: 1; border: solid; text-align: center}\n"; htmlTemplate += " #Content {border-width: 1; border: solid; text-align: center}\n"; htmlTemplate += " #Footer {border-width: 1; border: solid; text-align: center}\n"; htmlTemplate += " </style>\n"; htmlTemplate += " </head>\n"; htmlTemplate += " <body>\n"; htmlTemplate += " <table>\n"; htmlTemplate += " <tr><td><img src=\"cid:companylogo.jpg@embed\"/></td></tr>\n"; htmlTemplate += " <tr><td><div id=\"Header\">$HEADER$</div></td></tr>\n"; htmlTemplate += " <tr><td><div id=\"Contentr\">$CONTENT$</div></td></tr>\n"; htmlTemplate += " <tr><td><div id=\"Footer\">$FOOTER$</div></td></tr>\n"; htmlTemplate += " <tr><td><img src=\"cid:usersign.jpg@embed\"/></td></tr>\n"; htmlTemplate += " </table>\n"; htmlTemplate += " </body>n"; htmlTemplate += "</html>\n"; //the code is simplified to demostrate problem //$CONTENT etc. will be replaced by another html from custom html wysiwyg editor try { Outlook.Application outlook = new Outlook.Application(); Outlook._MailItem outLookMailMessage = outlook.CreateItem(Outlook.OlItemType.olMailItem) as Outlook._MailItem; outLookMailMessage.BodyFormat = Outlook.OlBodyFormat.olFormatHTML; outLookMailMessage.HTMLBody = htmlTemplate; outLookMailMessage.Subject = this.Subject; outLookMailMessage.Recipients.Add("somenone@somewhere.com"); path = ""; //set some path to folder with images Outlook.Attachment attachment1 = outLookMailMessage.Attachments.Add(path, Outlook.OlAttachmentType.olEmbeddeditem, null, ""); attachment1.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E", "companylogo.jpg@EMBED"); Outlook.Attachment attachment2 = outLookMailMessage.Attachments.Add(path, Outlook.OlAttachmentType.olEmbeddeditem, null, ""); attachment2.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E", "usersign.jpg@EMBED"); outLookMailMessage.Send(); outLookMailMessage = null; } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
Den Tag ContentId gibt es als ANSI (0x001E) und als Unicode (0x001F) Typ. Vielleicht funktioniert Unicode besser.
-
Moombas: Gefällt mir auch besser!
-
Moin,
wie schon gesagt, wenn keine IP-Adresse ermittelt wird, passiert meiner Meinung nach gar nichts.
Versuch mal das:
AutoIt
Alles anzeigen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _ActiveIP() Local $objAdapter Local $objWMIService = ObjGet("winmgmts:{impersonationLevel = impersonate}!\\" & $sHost & "\root\cimv2") If IsObj($objWMIService) Then Local $colAdapter = $objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration WHERE IPEnabled = True", "WQL", 0x30) If IsObj($colAdapter) Then For $objAdapter In $colAdapter If ($objAdapter.IPAddress(0)) Then If $objAdapter.DefaultIPGateway(0) Then If IsString($objAdapter.IPAddress(0)) And IsString($objAdapter.DefaultIPGateway(0)) Then $IP = $objAdapter.IPAddress(0) GUICtrlSetData($IPLabel, $IP) $Gateway = $objAdapter.DefaultIPGateway(0) Return ; <<<<< wenn eine IP-Adresse gefunden wurde, ist hier Schluss EndIf EndIf EndIf Next Endif EndIf GUICtrlSetData($IPLabel, "Kein Netz") ; <<<<< ansonsten landen wir hier EndFunc ;==>_ActiveIP
Wenn der Adapter beim Verbindungsverlust die letzte IP-Adresse hält, nützt das allerdings auch nicht.
-
In der Adlib-Funktion wird nur in das GUI geschrieben, wenn er eine IP-Adresse findet.
-
Moin,
was soll er denn schreiben, 'wenn das Kabel gezogen ist'?