Beiträge von jNizM
-
-
also hiermit klappt es nicht... hmm
[autoit]
[/autoit]
If GUICtrlRead($cInput_2) = Firefox Then
$sStartDatei = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
ElseIf GUICtrlRead($cInput_2) = Chrome Then
$sStartDatei = "C:\Users\Thomann\AppData\Local\Google\Chrome\Application\chrome.exe"
ElseIf GUICtrlRead($cInput_2) = IE Then
$sStartDatei = "C:\Program Files\Internet Explorer\iexplore.exe"
EndIf -
Das Problem ist, ich muss bestimmte Programme mit bestimmten Benutzern (Rechte) öffnen/starten.
-
mal wieder
wie kann ich denn die Combobox auslesen und das was jeweils als Programm steht mit der $sStartDatei verknüpfen
z.B.CodeCombobox: Firefox | Chrome | InternetExplorer $sStartDatei: PfadzurFirefox.exe | PfadzurChrome.exe | PfadzurIE.exe RunAs(...$sStartDatei)
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ComboConstants.au3>
#include <GuiConstantsEx.au3>
#include <GUIConstants.au3>; damits hier nicht zu lang wird, update-funktion ausgeblendet
[/autoit] [autoit][/autoit] [autoit]GUICreate("Test", 250, 200)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel ("Benutzername:", 20, 10)
[/autoit] [autoit][/autoit] [autoit]
Global $cInput_1 = GUICtrlCreateInput("", 20, 25, 200, 20)GUICtrlCreateLabel ("Programm:", 20, 60)
[/autoit] [autoit][/autoit] [autoit]
Global $cInput_2 = GUICtrlCreateCombo("Firefox", 20, 75, 200, 20, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Chrome|IE")
;Global $cInput_2 = GUICtrlCreateInput("Firefox", 20, 75, 200, 20)GUICtrlCreateLabel ("Grund:", 20, 110)
[/autoit] [autoit][/autoit] [autoit]
Global $cInput_3 = GUICtrlCreateInput("", 20, 125, 200, 20)Global $cSave = GUICtrlCreateButton("Speichern", 80, 160, 80, 25)
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $hFile = FileOpen(@DesktopDir & "\Test.txt", 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $sUserName = "benutzer"
Global $sPassword = "passwort"
Global $sStartDatei = "pfadzurFirefox.exe"While 1
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($cInput_1) <> "" And GUICtrlRead($cInput_2) <> "" And GUICtrlRead($cInput_3) <> "" Then
If BitAND(GUICtrlGetState($cSave), $GUI_DISABLE) Then GUICtrlSetState($cSave, $GUI_ENABLE)
Else
If BitAND(GUICtrlGetState($cSave), $GUI_ENABLE) Then GUICtrlSetState($cSave, $GUI_DISABLE)
EndIfSwitch GUIGetMsg()
[/autoit]
Case $GUI_EVENT_CLOSE
FileClose($hFile)
Exit
Case $cSave
$sTime = @YEAR & "-" & @MON & "-" & @MDAY & "/" & @HOUR & ":" & @MIN & ":" & @SEC
FileWriteLine($hFile, $sTime & ":" & @TAB & GUICtrlRead($cInput_1) & @TAB & GUICtrlRead($cInput_2) & @TAB & GUICtrlRead($cInput_3))
RunAs($sUserName, $sPassword, 0, $sStartDatei)
EndSwitch
WEnd -
jup danke, werd ich mich mal durchlesen
sry wenn ich nerve
[autoit]
aber hab da schon weng rumexperimentiert... aber wie bekomm ich das noch mit dem Button zum laufen:
[/autoit][autoit][/autoit][autoit]
Global $sUserName = "randomuser"
Global $sPassword = "randompasswort"
Global $sStartDatei = "C:\randompfad\randomprogramm.exe"RunAs($sUserName, @ComputerName, $sPassword, 0, $sStartDatei)
[/autoit][edit] hab schon... das @ComputerName einfach weg lassen
-
wär ne alternative =)
andere Frage...
gibts die Möglichkeit bei einem GUICtrlCreateInput-Feld (nur bei einem von 3 Feldern) ein Autofill zu machen?
bzw pro Feld ein anderes Autofill zu schalten?D.h. ich tippe den Buchstaben A und es zeigt mir alle Möglichkeiten mit A... an.
chip: evtl ein link zum nachlesen oder bsp.
-
man dankt soweit
was würde man nur ohne euch machen -
Supi
kann mir auch noch jemand Tipps oder so geben
-
hey..
Ich hoffe die Frage ist nicht zu kompliziert.Ist es möglich, eine Gui mit z.B. 3 Input-Feldern, einem OK(oder Senden)-Button, der solang ausgegraut (nicht anklickbar ist) bist die 3 Felder ausgefüllt sind.
Wenn die Felder ausgefüllt sind, und man auf den Button klickt, soll der Inhalt dieser Buttons in eine .txt fortlaufend (in jeweils eine Zeile) geschrieben werden. z.B.:
Zeile 1 (aktuelles Datum/Uhrzeit, Input1, Input2, Input3)
Zeile 2 (aktuelles Datum/Uhrzeit, Input1, Input2, Input3)danke im Voraus
-
Das ist das Nebenproblem..
Das Hauptproblem ist das er die werte nicht ändertSpoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#RequireAdminFunc ToggleHiddenFiles($ApplicationCompatibility=1,$ProgramCompatibility=1,$SwitchBackCompatibility=1)
[/autoit] [autoit][/autoit] [autoit]
$RegKey="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat"
$DisableEngine=RegRead($RegKey, "DisableEngine")
$DisablePCA=RegRead($RegKey, "DisablePCA")
$SbEnable=RegRead($RegKey, "SbEnable")If $ApplicationCompatibility=1 Then
[/autoit] [autoit][/autoit] [autoit]
If $DisableEngine=1 Then
RegDelete($RegKey,"DisableEngine")
Else
RegWrite($RegKey, "DisableEngine", "REG_DWORD", 1)
EndIf
EndIf
If $ProgramCompatibility=1 Then
If $DisablePCA=1 Then
RegDelete($RegKey, "DisablePCA")
Else
RegWrite($RegKey, "DisablePCA", "REG_DWORD", 1)
EndIf
EndIf
If $SwitchBackCompatibility=1 Then
If $SbEnable=1 Then
RegDelete($RegKey, "SbEnable")
Else
RegWrite($RegKey, "SbEnable", "REG_DWORD", 0)
EndIf
EndIfEndFunc
[/autoit] -
Na, dann mit @OSArch herausfinden, ob x86 oder x64.Dann entsprechende Schlüssel lesen ob vorhanden.
- Wenn nein, dann erstellen und Return
- Wenn ja, dann entscheiden, wenn Eintrag = xyz dann abc schreiben // Wenn aber Eintrag = abc, dann xyz schreibendas hättest du dir auch sparen können, weil was ich will, weiß ich selbst und steht oben...
-
1. soll automatisch festgestellt werden ob das betriebssystem x86 oder x64 ist
2. soll er dann die registry einträge erstellen, wenn nicht vorhanden
3. beim wiederholten ausführen die registry einträge löschen, wenn vorhanden
(2.+3.)=togglemein problem ist, das ich ein vorhandenes script aus dem hauptforum habe und da die werte angepasst hab, aber es nicht so wirklich funkioniert allein zu togglen
-
Käse 1: 2 KäsereibeMorgen
irgendwie bekomme ich das nicht so ganz hin...
wenn x86 Betriebssystem:
Code[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat] "DisableEngine"=dword:00000001 "SbEnable"=dword:00000000 "DisablePCA"=dword:00000001
wenn x64 Betriebssystem:
Code[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat] "DisableEngine"=dword:00000001 "SbEnable"=dword:00000000 "DisablePCA"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\AppCompat] "DisableEngine"=dword:00000001 "SbEnable"=dword:00000000 "DisablePCA"=dword:00000001
und zurücktoggln / -setzen:
Code[-HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat] [-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\AppCompat]
und das ganze als .au3 script und nicht als .reg oder .cmd
weiter als so bin ich nicht gekommen... was natürlich auch nicht funktioniert hat -.-
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#RequireAdminFunc ToggleHiddenFiles($ApplicationCompatibility=1,$ProgramCompatibility=1,$SwitchBackCompatibility=1)
[/autoit] [autoit][/autoit] [autoit]
$RegKey="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat"
$DisableEngine=RegRead($RegKey, "DisableEngine")
$DisablePCA=RegRead($RegKey, "DisablePCA")
$SbEnable=RegRead($RegKey, "SbEnable")If $ApplicationCompatibility=1 Then
[/autoit] [autoit][/autoit] [autoit]
If $DisableEngine=1 Then
RegDelete($RegKey,"DisableEngine")
Else
RegWrite($RegKey, "DisableEngine", "REG_DWORD", 1)
EndIf
EndIf
If $ProgramCompatibility=1 Then
If $DisablePCA=1 Then
RegDelete($RegKey, "DisablePCA")
Else
RegWrite($RegKey, "DisablePCA", "REG_DWORD", 1)
EndIf
EndIf
If $SwitchBackCompatibility=1 Then
If $SbEnable=1 Then
RegDelete($RegKey, "SbEnable")
Else
RegWrite($RegKey, "SbEnable", "REG_DWORD", 0)
EndIf
EndIfEndFunc
[/autoit] -
TOP
genauso solls laufen ...
vielen dank chris54nur noch eins... mehrere IP's?
-
okay... hmm
wie könnte man es sonst ein wenig übersichtlicher gestalten?kann man noch zusätzlich zur log ein popup (msgbox) aufblinken/-poppen lassen sobalt er offline geht
kompliziert, kompliziert ... :wacko:
-
man dankt
kann man das auch übersichtlicher ausgeben lassen?
Code
Alles anzeigen2012-06-06 09:52:41 : ----- STARTED ----- 2012-06-06 09:52:41 : 192.168.0.63 | 1 2012-06-06 09:53:56 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:00 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:04 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:08 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:12 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:16 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:20 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:24 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:27 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:30 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:33 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:36 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:39 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:42 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:46 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:54:50 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:32 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:36 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:40 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:44 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:48 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:52 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:57:56 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:00 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:04 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:08 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:11 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:14 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:17 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:20 : 192.168.0.63 | Host nicht erreichbar 2012-06-06 09:58:24 : 192.168.0.63 | Host nicht erreichbar
also zb offline von bis:
Codeonline 192.168.0.63 | Host nicht erreichbar | 2012-06-06 09:54:00 bis 2012-06-06 09:56:00 online oder trennzeichen --------------------- 192.168.0.63 | Host nicht erreichbar | 2012-06-06 09:58:00 bis 2012-06-06 09:59:00
irgendwie so
-
hey... ich hab mal testweise das script von autoit/forum/ping benutzt
Spoiler anzeigen
[autoit]#cs-----------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
| Author: Raylow (Special thx to "funkey" --> http://www.autoit.de)
| Date: 23.04.2009
| Script Version: 2.1.0.1
|
|
#ce-----------------------------------------------------------------------------------------------------------#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Netzwerkverbindung.ico
#AutoIt3Wrapper_Res_Description=Application to ping a host periodically
#AutoIt3Wrapper_Res_Fileversion=2.1.0.1
#AutoIt3Wrapper_Res_Icon_Add=paste.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <File.au3>
#include <windowsconstants.au3>Global $ping = -1, $pingCopy = -2
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $intervall = "60000"
Global $date= @YEAR & "-" & @MON & "-" & @MDAY
Global $stopped = 0
Global $path = ""
$StartFolder = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$Form1_1 = GUICreate("Ping-Assi", 247, 145, 240, 300)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
GUISetState(@SW_SHOW)$Label1 = GUICtrlCreateLabel("Host to ping", 8, 8, 80, 17)
[/autoit] [autoit][/autoit] [autoit]
$Label2 = GUICtrlCreateLabel("Intervall", 160, 8, 38, 17)
$Label3 = GUICtrlCreateLabel("Logfile Path", 8, 58, 98, 17)Global $Input1 = GUICtrlCreateInput($Input1, 8, 24, 105, 21)
[/autoit] [autoit][/autoit] [autoit]
ControlFocus($Form1_1, "",$Input1)
Global $Input2 = GUICtrlCreateInput($intervall, 160, 24, 32, 21)
Global $Input3 = GUICtrlCreateInput("", 8, 74, 194, 21)Global $Button1 = GUICtrlCreateButton("Start", 8, 104, 114, 30, $BS_DEFPUSHBUTTON)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, "Button1Click")
Global $Button2 = GUICtrlCreateButton("Stop", 126, 104, 114, 30)
GUICtrlSetOnEvent(-1, "Button2Click")
GUICtrlSetState($Button2, $GUI_DISABLE)
Global $Button3 = GUICtrlCreateButton("...", 205, 74, 35, 21)
GUICtrlSetOnEvent(-1, "Button3Click")
Global $Button4 = GUICtrlCreateButton("Clip", 115, 24, 35, 21, $BS_ICON)
GUICtrlSetImage($Button4, @ScriptFullPath, -5, 0)
GUICtrlSetOnEvent(-1, "Button4Click")
Global $Button5 = GUICtrlCreateButton("?", 225, 8, 15, 17)
GUICtrlSetOnEvent(-1, "Button5Click")While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(5000)
WEndFunc Button5Click()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "About Ping-Assi", "This programm was written by Raylow ([email='raylow.com@gmail.com'][/email]). Special thx to funkey --> http://www.autoit.de")
ControlFocus($Form1_1, "",$Input1)
EndFuncFunc Button4Click()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Input1, ClipGet())
EndFuncFunc Button3Click()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Dim $fileName
If GUICtrlRead($Input1) = "" Then
$var = FileSaveDialog("Save logfile..", $StartFolder, "Logfile (*.*)", 16, "log.txt")
Else
$var = FileSaveDialog("Save logfile..", $StartFolder, "Logfile (*.*)", 16, StringReplace(GUICtrlRead($Input1), ".", "_") & ".txt")
EndIf
If @error Then
Else
GUICtrlSetData($Input3, $var)
EndIf
EndFuncFunc Button1Click()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($Input1) <> "" Then
Global $IP = StringReplace(GUICtrlRead($Input1), ".", "_")
If GUICtrlRead($Input3) = "" Then
Global $logfile = $IP & ".txt"
Else
Global $logfile = GUICtrlRead($Input3)
EndIf
Local $IPAdresse = GUICTrlRead($Input1)
$ping = Ping($IPAdresse, 1800)
_FileWriteLog($logfile, '----- ' & 'STARTED' & ' -----')
_FileWriteLog($logfile, $IPAdresse & ' | ' & $ping)
$pingCopy = $ping
AdlibRegister('_Zyklus', GUICtrlRead($Input2 *1000))
GUICtrlSetState($Button1, $GUI_DISABLE)
GUICtrlSetState($Button2, $GUI_ENABLE)
GUICtrlSetState($Button3, $GUI_DISABLE)
GUICtrlSetState($Button4, $GUI_DISABLE)
GUICtrlSetState($Input1, $GUI_DISABLE)
GUICtrlSetState($Input2, $GUI_DISABLE)
GUICtrlSetState($Input3, $GUI_DISABLE)
Else
MsgBox(16,"Missing Input","Be sure to set the host to ping and an intervall!")
EndIf
EndFuncFunc Button2Click()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_FileWriteLog($logfile, '----- ' & 'STOPPED' & ' -----')
$stopped = 2
AdlibUnregister()
GUICtrlSetState($Button1, $GUI_ENABLE)
GUICtrlSetState($Button2, $GUI_DISABLE)
GUICtrlSetState($Button3, $GUI_ENABLE)
GUICtrlSetState($Button4, $GUI_ENABLE)
GUICtrlSetState($Input1, $GUI_ENABLE)
GUICtrlSetState($Input2, $GUI_ENABLE)
GUICtrlSetState($Input3, $GUI_ENABLE)
EndFuncFunc _Zyklus()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $IPAdresse = GUICTrlRead($Input1)
$ping = Ping($IPAdresse)
$stopped = 1
If $ping <> $pingCopy Then _FileWriteLog($logfile, $IPAdresse & ' | ' & $ping)
$pingCopy = $ping
EndFuncFunc Form1_1Close()
[/autoit]
If $stopped = 1 Then
_FileWriteLog($logfile, '----- ' & 'STOPPED' & ' -----')
Else
EndIf
Exit
EndFuncAllerdings hab ich ne frage...
wie bekomm ich das hin, das er nur die offline bzw nicht erreichbar zeiten in die log schreibt.. mir kommt es so vor das er bis jetzt willkürlich irgendwas loggt, trotz intervall 10000:Code
Alles anzeigen2012-06-06 08:34:22 : ----- STARTED ----- 2012-06-06 08:34:22 : 173.194.35.159 | 7 2012-06-06 08:34:33 : 173.194.35.159 | 16 2012-06-06 08:34:33 : 173.194.35.159 | 20 2012-06-06 08:34:34 : 173.194.35.159 | 24 2012-06-06 08:34:34 : 173.194.35.159 | 14 2012-06-06 08:34:34 : 173.194.35.159 | 7 2012-06-06 08:34:36 : 173.194.35.159 | 6 2012-06-06 08:34:37 : 173.194.35.159 | 7 2012-06-06 08:34:42 : 173.194.35.159 | 9 2012-06-06 08:34:42 : 173.194.35.159 | 7 2012-06-06 08:34:53 : ----- STOPPED -----