Beiträge von Prajoss
-
-
Hast du etwa versucht es zu dekompilieren?
-
Servus,
bin leider kein StringRegExp - Experte, aber so sollte es auch ausreichen:
[autoit]$string = "C:\2. Freigegeben\Player\10.3\test.msi"
[/autoit][autoit][/autoit][autoit]$pfad = StringTrimRight($string, StringLen($string) - StringInStr($string, "\", 0, -1))
[/autoit][autoit][/autoit][autoit]MsgBox(0, "T", $pfad)
[/autoit][autoit][/autoit][autoit]$version = StringTrimRight($string, StringLen($string) - StringInStr($string, "\", 0, -1) + 1)
[/autoit][autoit][/autoit][autoit]
$version = StringTrimLeft($version, StringInStr($version, "\", 0, -1))MsgBox(0, "V", $version)
[/autoit]Gruß
Prajoss
-
Hi Leute,
habe ein kleines Problem. Ich habe für meine Arbeit ein Skript geschrieben, welches unter anderem Servernamen aus
einem Inifile einliest und diese in einer Combobox dargestellt. Ich habe ein vereinfachst Skript geschrieben, welches
dem genannten Teil es Skripts entspricht, in welchem das Problem liegt.Zunächst kurz der Aufbau der Ini-Datei:
Diese Zeilen werden direkt in die Combobox eingelesen. Dummerweise sind es inzwischen mehr als
30 Zeilen, so dass die verwendete Form der Combobox nicht mehr für die Darstellung ausreicht, da
nur maximal 30 Einträge wiedergegeben werden.Gibt es da ne möglichkeit diese Begrenzung höher zu stellen?
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>local $serverliste, $var
[/autoit] [autoit][/autoit] [autoit]$var = IniReadSection("test.ini", "Server")
[/autoit] [autoit][/autoit] [autoit]For $s=1 To $var[0][0]
[/autoit] [autoit][/autoit] [autoit]
$serverliste = $serverliste & $var[$s][1] & "|"
Next
StringTrimRight($serverliste, 1)$gui = GUICreate("Test", 240, 50)
[/autoit] [autoit][/autoit] [autoit]$combo_server = GUICtrlCreateCombo("", 10, 10, 220, 60, $CBS_DROPDOWNLIST)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData(-1, $serverliste)
GUICtrlSetFont(-1, 12, 600, 0, "Verdana")GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$msg = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]If $msg = $GUI_EVENT_CLOSE Then
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($Gui)
Exit
EndIfSleep(50)
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit]
GrußPrajoss
-
Servus,
ist daten[50][150] nicht ein 2D Array?
Zur Frage:
Interessant wäre vllt trotzdem der Scriptteil mit deinem IniWrite-Befehl, so müssten
wir jetzt rumstochern und rumraten.Gruß
Prajoss
-
Hi Tiger,
ich hätte gesagt
[autoit]FileOpen("$File")
[/autoit]und auf den Error abfragen
Gruß
-
Dann bis heute Abend
-
Benutz doch einfach die xml udf.
Wenn du nähere Infos brauchst, bin heute im Skype erreichbar.
Benutzer: Prajoss
Hab mich damit schon befasst, weil ich das selbst gebraucht habe und das dauert, gibt einige böse Dinger <.<
Gruß
Prajoss
PS: Wenn du kein Skype hast, dann auch im ICQ: 338-302-256 erreichbar.
-
Das funktioniert doch nicht oO
du kannst in der Kommandozeile kein " mit " escapen...
Du musst dann ' benutzen. Wäre mein Wissensstand, aber Batchscripting ist bei mir auch schon 3 Jahre her
Gruß
Prajoss
-
Servus,
bin mir grad nicht sicher, aber in der Beschreibung der Funktion steht doch drin,
dass es eigentlich nicht geht2.1/ Layered windows do not appear on screenshots taken by '_ScreenCapture_Capture' because it uses the desktop's ; handle whereas the layered windows are drawn directly by the graphic card
Du könntest einfach probieren das Spiel im Fenstermodus zu starten, das könnte dann klappen.
PS: Wozu willst du das Spiel Screenshotten mit einem Script.
Die Vermutung ist halt -> Bot, deshalb auch durch die Forenrichtlinien verboten.Gruß
Prajoss
-
o_O
wie das halt keinen Sinn ergibt
btt:
Mein Scripten in der Kommandozeile ist jetzt doch schon gut 3 Jahre her, seit ich AutoIt entdeckt habe.
Werde dir da nicht so wirklich weiterhelfen können :-/ -
Hi michach,
die interessantere Frage ist immernoch ob du nicht lieber das alles komplett in AutoIt schreibst.
Gruß
Prajoss
-
Hi Michach,
einfach so:
Code
Alles anzeigenuptime for /f "tokens=1 delims=:," %%a in ('uptime') do set _uptime=%%a set /a _uptime=%_uptime:~0,-7% if %_uptime% GEQ 9 goto neun if %_uptime% GEQ 6 goto sechs if %_uptime% GEQ 3 goto drei if %_uptime% GEQ 0 goto null :null call achtung.exe %_uptime% exit
Und in AutoIt werden die Parameter über $CmdLine ausgelesen.
$CmdLine[0] gibt die Anzahl der Parameter an die übergeben wurden.So sollte es mit einem Parameter aussehen:
[autoit]If $CmdLine[0] > 0 Then
[/autoit][autoit][/autoit][autoit]$Parametervariablewieauchimmergenannt = $CmdLine[1]
[/autoit][autoit][/autoit][autoit]Else
[/autoit]Gruß
Prajoss
-
Naja du musst schon beim RunAsWait-Befehl die Benutzerdaten austauschen
In dem Fall halt gegen die des Admins, damit du das Programm als Admin ausführst.
-
Hi Blackmaster77,
so sollte es gehen:
[autoit]$var = DriveGetDrive( "CDROM" )
[/autoit][autoit][/autoit][autoit]If NOT @error Then
[/autoit][autoit][/autoit][autoit]For $i = 1 to $var[0]
[/autoit][autoit][/autoit][autoit]If FileExists($var[$i] & "\PROGRAMM.exe") Then RunAsWait("USER", "DOMAIN/ARBEITSGRUPPE", "PASSWORD", 0, $var[$i] & "\PROGRAMM.exe")
[/autoit][autoit][/autoit][autoit]Next
[/autoit][autoit][/autoit][autoit]EndIf
[/autoit]Gruß
Prajoss
PS: hab mal keine Fehlermeldung ausgegeben wenn nichts gefunden wurde, grad wenig Zeit :-/
-
Dann musst du über
[autoit]DriveGetDrive("CDROM")
[/autoit]abfragen welche Laufwerke überhaupt CD/DVD-Laufwerke sind und dann über
[autoit]FileExists
[/autoit]auf diesen Laufwerken gucken ob die Datei vorhanden ist.
Ich schreib mal kurz was zusammen.
Gruß
Edit:
@Tron
Autorun hat aber keine Adminrechte :-/
-
Hi Blackmaster77,
das mit den Adminrechten ist zu realisieren über
[autoit]RunAs
[/autoit]Ändert sich der Laufwerksbuchtabe weil der PC gewechselt wird?
Evtl. weiß einer der besseren AutoIt-ler ob man auch nach dem DVD-Namen abfragen kann, damit wäre
der Laufwerksbuchstabe egal, solange sich der DVD-Name nicht ändertGruß
Prajoss
-
Hi Blackmaster77 und willkommen im Forum,
hast du einen festen Laufwerksbuchstaben? Wenn würde dir der Befehl
[autoit]Run
[/autoit]weiterhelfen. Einfach mal in der Hilfe nachlesen, dort
stehen genug Beispiele. Es sei denn, du möchtest gar nicht AutoIt lernen
Solltest du nicht weiterkommen, helfen wir dir natürlich.
Gruß
Prajoss
-
Hi Gordon,
also mit diesem Codeteil kann ich leider nichts anfangen
[autoit]_Main()
[/autoit][autoit][/autoit][autoit]Func _Main()
[/autoit][autoit][/autoit][autoit]
Local $hWnd, $hMainWinWaitActive("Microsoft Business Solutions-Navision")
[/autoit][autoit][/autoit][autoit]$hWnd = WinGetHandle("Microsoft Business Solutions-Navision")
[/autoit][autoit][/autoit][autoit]$hMain = _GUICtrlMenu_GetMenu ($hWnd)
[/autoit][autoit][/autoit][autoit]For $x = _GUICtrlMenu_GetItemCount ($hMain) - 1 To 0 Step -1
[/autoit]
ConsoleWrite("Removing: " & $x & @lf)
_GUICtrlMenu_RemoveMenu ($hMain, $x)
Next
EndFuncEs würde helfen, wenn du den gesamten Quellcode hier reinschreibst (wenn er größer wird, bitte [.spoiler][./spoiler]
benutzen ohne den . ) -
Servus,
versuch über das Zeichen ' den String einzuschließen.
Würde dann so aussehen:
Spoiler anzeigen
[autoit]$Connect= RunWait(@ComSpec & " /c " & "'" & $rasdial & "'","",@SW_HIDE)
[/autoit]Gruß
Prajoss
Edit sagt: Du hast noch nen Rechtschreibfehler drin:
Spoiler anzeigen
VPN Verbindung mit domainwird hergestellt