Dagegen spricht gar nichts und so mach ich es monetan auch.
Mich hat soweit nur interessiert ob es auch mit DllCall machbar wäre, mehr nicht.
Wäre rein zum Verständiniss gewesen, deshalb die Frage.
LG
Schnuecks
Dagegen spricht gar nichts und so mach ich es monetan auch.
Mich hat soweit nur interessiert ob es auch mit DllCall machbar wäre, mehr nicht.
Wäre rein zum Verständiniss gewesen, deshalb die Frage.
LG
Schnuecks
Hab Dir mal die NvCpl.dll gepackt, vielleicht hilfts ja weiter.
DL-Link
http://www.sektion-a.de/cgi-bin/dltrack/down.pl?ID=3
LG
Schnuecks
Danke erstmal,
ich muss jetzt nochmal blöd fragen.
Kann ich mit DllCall die Dll mit Parametern starten bzw. aufrufen oder bekomme ich von dieser Funktion nur Werte zurück.
Leider passiert nichts wenn ich deinen Code verwende.
[autoit]$string1="primary"
$string2="2"
$ret=dllcall($dll,"none","dtcfg","str",$string1,"str",$string2)
In Scite sehe ich nur den Fehler !>16:19:24 AutoIT3.exe ended.rc:-1073741819
Die Datei kann ich dir zukommenlassen wenn es hilft, ist Teil des Nvidiatreibers, dürfte ja eigentlich kein Problem sein.
Gruß
Schnuecks
Halllo zusammen,
ich hab heute versucht etwas mit DllCall in mein Script einzubauen. Folgenden Befehl wuürde ich gerne per DLlCall ausführen (sofern das möglich ist).
Originalbefehl laut Nvidia Doku.
[autoit]Run('rundll32.exe NvCpl.dll,dtcfg primary 2')
[/autoit]So wie ich es gern haben würde evtl. auch nur zum Verständniss.
[autoit]$dll = DllOpen(@SystemDir & "\NvCpl.dll")
DllCall($dll,"int","dtcfg primary",2)
DllClose($dll)
Nur ich habe schon alle möglichen Konstelationen ausprobiert ohne Erfolg.
Gruß
Schnuecks
Hi zusammen,
ich habe ein kleines Problem mit einem String.
Der String lautet z.B. C:\Programme\Programm\test.exe
und ich möchte test.exe als Wert zurückbekommen.
Es kann aber auch C:\Programme\Programm\Ordner\irgendwas.exe lauten.
Also ich möchte den Wert von rechts an bis zum ersten \
Nur mit StringRight und StringInStr bekomme ich es irgendwie nicht hin.
[autoit]$string = "C:\Programme\Programm\test.exe"
StringRight($string,StringInStr($string,"\",0,-1)
Aber für Euch ist das bestimmt nur ne Kleinigkeit.
LG
Schnuecks
Hab da auch was schaut mal unter
https://autoit.de/www.euronummer.de
Kam heut bei uns im Radio
LG
Schnuecks
Hi,
nehm doch einfach psgetsid.exe aus den PsTools.
LG
Schnuecks
Hi Bustd,
kannst Du die aktuelle Version deine Scripts bitte in deinen ersten Post packen, dann muss man nicht den ganzen Thread nach der aktuellsten Version durchwühlen.
Schön wärs auch noch wenn Du in den Script abfangen könntest ob du korrekte Werte bekommst. Ich habe nämlich zufällig einen Ort gehabt wo
[autoit]<condition data="'
[/autoit]leer war.
Dann bekomm ich folgendes angezeigt.
[autoit]"/><temp_f data="44
[/autoit]Danke
Ok danke.
*Staub aus den Augen wischt*
LG
Schnuecks
Wo wir grad bei der deutschen Hilfe sind, gibts auch mal wieder eine neue deutsche api für scite?
LG
Schnuecks
OT:
Auch wenns nichts mit Autoit zu tun hat kann ich dafür wärmstens visionapp Remote Desktop empfehlen.
Nicht nur für RDP Sessions sondern für fast alle Protokolle.
Wir haben da an die 150 Server drin und man kann auch Anmeldedaten für die jeweiligen Server verschlüsselt hinterlegen.
LG
Schnuecks
Hallo zusammen,
ich würde gerne folgendes wissen. In meinem Script hab ich in einem Array IP's angegeben .
[autoit]$ip1 = "192.168.1."
$ip2 = "192.169.1."
Global $aPC1[6] = [$ip1 & "10",$ip1 & "11", $ip1 & "12",$ip1 & "13",$ip1 & "14",$ip1 & "15"]
Global $aPC2[6] = [$ip2 & "10",$ip2 & "11", $ip2 & "12",$ip2 & "13",$ip2 & "14",$ip2 & "15"]
wie bekomme ich es hin das es z.B. so aussieht das ich den Bereich von 10-15 angebe und nicht einzeln
[autoit]$ip1 = "192.168.1."
$ip2 = "192.169.1."
Global $aPC1[6] = [$ip1 & "10" - $ip1 & "15"]
Global $aPC2[6] = [$ip2 & "10" - $ip2 & "15"]
Gruß
Schnuecks
Wunderbar, die Reihenfolge wars also.
Vielen Dank
Schnuecks
Hallo zusammen,
ich hab da mal ein kleines Problem.
In diesem Script hat man die Auswahl zwischen Reboot, Shutdown und Abort.
Aber leider funktioniert es nicht so wie gewollt, schauts Euch am besten an.
#NoTrayIcon
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
$mainwindow = GUICreate("Boot-Auswahl", 250, 150)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Wählen Sie den gewünschten Typ aus!", 20, 10)
[/autoit] [autoit][/autoit] [autoit]$okbutton = GUICtrlCreateButton("Reboot", 70, 50, 100)
GUICtrlSetOnEvent($okbutton, "_rebootclicked")
$okbutton = GUICtrlCreateButton("Shutdown", 70, 80, 100)
GUICtrlSetOnEvent($okbutton, "_shutdownclicked")
$okbutton = GUICtrlCreateButton("Abort", 70, 110, 100)
GUICtrlSetOnEvent($okbutton, "_abortclicked")
GUISwitch($mainwindow)
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Global $aPC[2] = ["test1", "test2"]
[/autoit] [autoit][/autoit] [autoit]$timeout = "10"
$reboot = @SystemDir & "\shutdown.exe -r -f -t " & $timeout & " -m "
$shutdown = @SystemDir & "\shutdown.exe -s -f -t " & $timeout & " -m "
$abort = @SystemDir & "\shutdown.exe -a -m "
Func _rebootclicked()
For $i = 0 To 1
If $aPC[$i] <> "" Then _reboot($aPC[$i])
Next
EndFunc
Func _shutdownclicked()
For $i = 0 To 1
If $aPC[$i] <> "" Then _shutdown($aPC[$i])
Next
EndFunc
Func _abortclicked()
For $i = 0 To 1
If $aPC[$i] <> "" Then _abort($aPC[$i])
Next
EndFunc
Func _reboot($PC)
Run($reboot & $PC, "", @SW_HIDE)
EndFunc
Func _shutdown($PC)
Run($shutdown & $PC, "", @SW_HIDE)
EndFunc
Func _abort($PC)
Run($abort & $PC, "", @SW_HIDE)
EndFunc
Func CLOSEClicked()
If @GUI_WinHandle = $mainwindow Then
Exit
EndIf
EndFunc
Ich hoffe man sieht was ich erreichen möchte.
LG
Schnuecks
Hallo zusammen,
ich hab auf einem Server einen Sicherungsjob der täglich läuft. An diesen Job möchte ich bei beendigung ein kleines Skript starten lassen. Kann man im Job soweit auch einstellen. Was ich möchte?
Ich möchte das das Skript zwar jeden Tag mit aufgerufen wird aber nur an einem bestimmten Tag (am 1ten Freitag im Monat startet).
Wenn 1ter freitag im Monat dann starte, sonst Exit
Wie bekomm ich das hin, hoffe das das machbar ist.
LG
Schnuecks
Ok mehrfach brauch ich nicht unbedingt.
Aber mir ist folgendes aufgefallen
#include <Array.au3>
Global $aToSearch[2][2] = [['test.exe','C:|D:'],['test.jar','C:']]
Global $aPath[2], $aFound[1] = [0]
For $i = 0 To UBound($aToSearch) -1
If StringInStr($aToSearch[$i][1], '|') Then
$aPath = StringSplit($aToSearch[$i][1], '|')
Else
$aPath[1] = $aToSearch[$i][1]
EndIf
For $j = 1 To UBound($aPath) -1
If $aFound[UBound($aFound)-1] Then ReDim $aFound[UBound($aFound)+1]
$aFound[UBound($aFound)-1] = _SearchTreeForFile($aPath[$j], $aToSearch[$i][0])
Next
Next
If $aFound[0] Then
_ArrayDisplay($aFound, 'Ergebnis Dateisuche')
Else
MsgBox(0, 'Dateisuche', 'Keine der Dateien wurde in den angegebenen Pfaden gefunden.')
EndIf
;===============================================================================
; Function Name: _SearchTreeForFile($sRootPath, $sFileName)
; Description:: Dateisuche in einem Pfad und allen Unterpfaden
; Parameter(s): $sRootPath Startpfad der Suche
; $sFileName Name der gesuchten Datei
; Return Value(s): gefunden Pfad der gesuchten Datei
; n. gefunden 0
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _SearchTreeForFile($sRootPath, $sFileName)
If StringRight($sRootPath, 1) <> '\' Then $sRootPath &= '\'
Local $sOutputPathBuffer = ''
Local $aRet = DllCall("imagehlp", 'long', 'SearchTreeForFile', 'str', _
$sRootPath, 'str', $sFileName, 'str', $sOutputPathBuffer)
If $aRet[0] = 1 Then
Return $aRet[3]
Else
Return 0
EndIf
EndFunc ;==>_SearchTreeForFile
Ergebniss
[0]|C:\test.exe
[1]|D:\test.exe
[2]|C:\test.jar
[3]|D:\test.jar
Frage warum findet er die Datei test.jar auf C: und D: beim zweiten obwohl nur C: angegeben ist?
LG
Schnuecks
Das funktioniert jetzt soweit.
Er zeigt aber immer nur die zuerst gefundene an. Beispiel
#include <Array.au3>
Global $aToSearch[2][2] = [['xyz.exe','C:|D:|E:']] ; z.b. abc.exe in C: und D:, xyz.exe nur in C: suchen
Global $aPath[2], $aFound[1] = [0]
For $i = 0 To UBound($aToSearch) -1
If StringInStr($aToSearch[$i][1], '|') Then
$aPath = StringSplit($aToSearch[$i][1], '|')
Else
$aPath[1] = $aToSearch[$i][1]
EndIf
For $j = 1 To UBound($aPath) -1
If $aFound[UBound($aFound)-1] Then ReDim $aFound[UBound($aFound)+1]
$aFound[UBound($aFound)-1] = _SearchTreeForFile($aPath[$j], $aToSearch[$i][0])
Next
Next
If $aFound[0] Then
_ArrayDisplay($aFound, 'Ergebnis Dateisuche')
Else
MsgBox(0, 'Dateisuche', 'Keine der Dateien wurde in den angegebenen Pfaden gefunden.')
EndIf
;===============================================================================
; Function Name: _SearchTreeForFile($sRootPath, $sFileName)
; Description:: Dateisuche in einem Pfad und allen Unterpfaden
; Parameter(s): $sRootPath Startpfad der Suche
; $sFileName Name der gesuchten Datei
; Return Value(s): gefunden Pfad der gesuchten Datei
; n. gefunden 0
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _SearchTreeForFile($sRootPath, $sFileName)
If StringRight($sRootPath, 1) <> '\' Then $sRootPath &= '\'
Local $sOutputPathBuffer = ''
Local $aRet = DllCall("imagehlp", 'long', 'SearchTreeForFile', 'str', _
$sRootPath, 'str', $sFileName, 'str', $sOutputPathBuffer)
If $aRet[0] = 1 Then
Return $aRet[3]
Else
Return 0
EndIf
EndFunc ;==>_SearchTreeForFile
Die Datei xyz.exe existiert im Beispiel mehrmals auf Laufwerk C:, Laufwerk D: und E: passen.
Was muss ich machen damit alle gefunden angezeigt werden.
Ergebniss:
[0]|C:\Intel\xyz.exe
[1]|D:\xyz.exe
[2]|E:\javahelp\xyz.exe
[3]|0
Mach ich noch etwas falsch?
LG
Schnuecks
Was ist hier dran falsch?
#include <Array.au3>
Global $aToSearch[2][2] = [['xyz.exe','C:'],['xyz.exe','D:']] ; z.b. abc.exe in C: und D:, xyz.exe nur in C: suchen
Global $aPath[2], $aFound[1] = [0]
For $i = 0 To UBound($aToSearch) -1
If StringInStr($aToSearch[$i][1], '|') Then
$aPath = StringSplit($aToSearch[$i][1], '|')
Else
$aPath[1] = $aToSearch[$i][1]
EndIf
For $j = 1 To UBound($aPath) -1
If $aFound[UBound($aFound)-1] <> 0 Then ReDim $aFound[UBound($aFound)+1]
$aFound[UBound($aFound)-1] = _SearchTreeForFile($aPath[$j], $aToSearch[$i][0])
Next
Next
If $aFound[0] Then
_ArrayDisplay($aFound, 'Ergebnis Dateisuche')
Else
MsgBox(0, 'Dateisuche', 'Keine der Dateien wurde in den angegebenen Pfaden gefunden.')
EndIf
;===============================================================================
; Function Name: _SearchTreeForFile($sRootPath, $sFileName)
; Description:: Dateisuche in einem Pfad und allen Unterpfaden
; Parameter(s): $sRootPath Startpfad der Suche
; $sFileName Name der gesuchten Datei
; Return Value(s): gefunden Pfad der gesuchten Datei
; n. gefunden 0
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _SearchTreeForFile($sRootPath, $sFileName)
If StringRight($sRootPath, 1) <> '\' Then $sRootPath &= '\'
Local $sOutputPathBuffer = ''
Local $aRet = DllCall("imagehlp", 'long', 'SearchTreeForFile', 'str', _
$sRootPath, 'str', $sFileName, 'str', $sOutputPathBuffer)
If $aRet[0] = 1 Then
Return $aRet[3]
Else
Return 0
EndIf
EndFunc ;==>_SearchTreeForFile
Es findet nur D: xyz.exe aber nicht C: xyz.exe vertausch ich die beiden findete er die Sachen von C: aber nicht von D:
LG
Schnuecks
Ich würde gerne mit der Funktion mehrere Dateien in mehreren Ordnern suchen.
Mit einer ist es ja kein Problem.
Ich suche z.B. die Datei abc.exe und xyz.exe auf C: und auf D: wie kann ich das anstellen.
Und möchte das ganze loggen in einer txt zum Beispiel.
Hoffe ihr versteht mich einigermassen
LG
Schnuecks