Hm es scheint wohl irgendwo am User gelegen zu haben.
Habe das Profil neu erstellt ... funktioniert.
Frag mich was es war... aber egal... Hauptsache es klappt nun
Danke für eure Hilfe
Hm es scheint wohl irgendwo am User gelegen zu haben.
Habe das Profil neu erstellt ... funktioniert.
Frag mich was es war... aber egal... Hauptsache es klappt nun
Danke für eure Hilfe
Ich führ das mit dem selben Benutzer aus
AD_Open braucht keine parameter, alles andere geht damit auch (Anzeigenamen ändern etc)
Habe dem Benutzer testweise auch schon domäneadmin verpasst und die compilierte exe als admin ausgeführt
selbes Ergebnis.
Lese und schreibrechte habe ich natürlich
Kann ja in der ad verwaltung manuell user einrichten
Hallo zusammen,
ich sitze momentan vor dem Problem das sich Benutzer mit der ad.au3 nicht erstellen lassen, wenn ich nicht mit "Administrator" angemeldet bin
Bin aber Domänen Admin und kann über die Active Directory-Benutzer und Computerverwaltung Benutzer erstellen, daher sollte es generell nicht an den Rechten liegen
Das Problem hatte wohl schon wer anders, jedoch ist der Thread nicht wirklich weitergeführt worden https://autoit.de/index.php/Thread/45619
Beispielskript:
#include "ad.au3"
$sAnzeigename = "Max Muster"
$sBenutzername = "max.muster"
$sKennwort = "s9u3f$sn!SFA"
$FQDNSplit = StringRegExp(@LogonDNSDomain, "([^.]+)", 3)
Global $FQDN_DN = ""
For $i = 0 To UBound($FQDNSplit) - 1
$FQDN_DN &= ",DC=" & $FQDNSplit[$i]
Next
_AD_Open()
_AD_ErrorNotify(2)
$iValue = _AD_CreateUser("OU=WTS-Benutzer" & $FQDN_DN, $sBenutzername, $sAnzeigename)
If $iValue = 1 Then
$iValue = _AD_SetPassword($sBenutzername, $sKennwort)
If $iValue = 1 Then
MsgBox(64, "Benutzer erstellen", "Der Benutzer '" & $sBenutzername & "' ist erfolgreich erstellt worden")
ElseIf @error = 1 Then
MsgBox(64, "Passwort setzen", "Benutzer '" & $sBenutzername & "' existiert nicht")
Else
MsgBox(64, "Passwort setzen", "Return code '" & @error & "' from Active Directory")
EndIf
ElseIf @error = 1 Then
MsgBox(64, "Benutzer erstellen", "Der Benutzer '" & $sBenutzername & "' existiert bereits")
ElseIf @error = 2 Then
MsgBox(64, "Benutzer erstellen", "Die Organisationseinheit '" & "OU=WTS-Benutzer" & $FQDN_DN & "' existiert nicht")
ElseIf @error = 3 Then
MsgBox(64, "Benutzer erstellen", "Der Wert für den Anzeigenamen (Nachname Vorname) fehlt")
ElseIf @error = 4 Then
MsgBox(64, "Benutzer erstellen", "Value for $sAD_User is missing")
Else
MsgBox(64, "Benutzer erstellen", "Return code '" & @error & "' from Active Directory")
EndIf
_AD_Close()
Alles anzeigen
Der ErrorNotify gibt folgendes Zurück
AD UDF version = 1.4.3
@AutoItVersion = 3.3.14.2
@AutoItX64 = 1
@Compiled = 0
@OSArch = X64
@OSVersion = WIN_2012R2
Scriptline = 2242
NumberHex = 80020009
Number = -2147352567
WinDescription = Ausnahmefehler aufgetreten.
Description = Zugriff verweigert
Source = Active Directory
Alles anzeigen
Ich führe das ganze unter 2012 R2 aus.
dsadd user CN=max.muster,OU=WTS-Benutzer,DC=Domain,DC=local -samid john -pwd AFGI2dassf12
funktioniert z.B. auch ohne Probleme
Hoffe jemand hat da nen Tipp für mich
Gruß Daniel
Du könntest die 2. Exe einfach mit Parametern aufrufen
https://www.autoitscript.com/autoit3/docs/intro/running.htm
wenn das 2. Programm dauerhaft (warum auch immer) laufen muss würde ich z.B. TCP nehmen:
https://www.autoitscript.com/autoit3/docs/functions/TCPSend.htm
Für XML Bearbeitung nutze ich diese UDF: http://www.autoitscript.com/forum/topic/19…om-wrapper-com/
Damit kannst du wunderbar auslesen, editieren, speichern etc.
-> Downloadlink scheint tot zu sein
hier ein Alternativlink: https://raw.githubusercontent.com/Silvernine0S/FolderMenu3EX/master/Include/_XMLDomWrapper_.au3
Hm hab es jetzt über MouseGetPos() gelöst.
Hatte eher gehofft man könne es quasi verschieben
Aber danke für deienn Vorschlag
Hi,
ich habe nur nen kleines Problem, hoffe es gibt da ne schicke Lösung für
Und zwar lasse ich mir im Moment ein paar infos über nen Tooltip anzeigen
[autoit]ToolTip("This is a tooltip", 0, 0)
[/autoit]Jedoch habe ich das Problem, dass ich das dingen nicht verschieben kann, wenn es im weg ist.
Hat da jemand ne idee?
Tooltip selbst scheint es ja leider nicht zu können
Balloon Tip ebenso
Hast du es mal mit /qn oder /quiet anstelle von /qb versucht?
If $iResult = Null And $bRecursive = True Then
[/autoit]Hat leider nicht geklappt.
habe mal ne MSGBox eingebaut
Local $iResult = $oGroup.IsMember("LDAP://" & $sAD_HostServer & "/" & $sObject)
Liefert wohl False zurück, das ist ja quasi 0.
[Blockierte Grafik: http://i.imgur.com/CkAyRvA.png]
ABER
Func _AD_IsMemberOf($sGroup, $sObject = @UserName, $bIncludePrimaryGroup = False, $bRecursive = False, $iDepth = 10)
[/autoit] [autoit][/autoit] [autoit]If _AD_ObjectExists($sGroup) = 0 Then Return SetError(1, 0, 0)
If _AD_ObjectExists($sObject) = 0 Then Return SetError(2, 0, 0)
If StringMid($sObject, 3, 1) <> "=" Then $sObject = _AD_SamAccountNameToFQDN($sObject) ; sAMAccountName provided
If StringMid($sGroup, 3, 1) <> "=" Then $sGroup = _AD_SamAccountNameToFQDN($sGroup) ; sAMAccountName provided
Local $oGroup = __AD_ObjGet("LDAP://" & $sAD_HostServer & "/" & $sGroup)
Local $iResult = $oGroup.IsMember("LDAP://" & $sAD_HostServer & "/" & $sObject)
If $iResult = 0 And $bRecursive = True Then
For $oMember In $oGroup.Members
If StringLower($oMember.Class) = 'group' Then
If $iDepth > 0 Then
If _AD_IsMemberOf($oMember.distinguishedName, $sObject, $bIncludePrimaryGroup, True, $iDepth - 1) Then Return 1
EndIf
Else
If StringLower($oMember.distinguishedName) = $sObject Then Return 1
EndIf
Next
EndIf
; Check Primary Group if $sObject isn't a member of the specified group and the flag is set
If $iResult = 0 And $bIncludePrimaryGroup Then $iResult = (_AD_GetUserPrimaryGroup($sObject) = $sGroup)
; Abs is necessary to make it work for AutoIt versions < 3.3.2.0 with bug #1068
Return Abs($iResult)
EndFunc ;==>_AD_IsMemberOf
[/autoit]Das hat funktioniert.
Problem war quasi, dass sich die Primäre Gruppe des Users in der Gruppe die ich ausgelesen habe befand, habe also
[autoit]If _AD_IsMemberOf($oMember.distinguishedName, $sObject, False, True, $iDepth - 1) Then Return 1
[/autoit]
abgeändert ->
If _AD_IsMemberOf($oMember.distinguishedName, $sObject, $bIncludePrimaryGroup, True, $iDepth - 1) Then Return 1
[/autoit]1.4.1.0 und autoit die 3.3.10.2
Habe ne AD unter 2012 R2 und 2008 R2 getestet
Habe ein Problem mit der Funktion _AD_IsMemberOf aus der AD.au3 UDF.
; #FUNCTION# ====================================================================================================================
; Name...........: _AD_IsMemberOf
; Description ...: Returns 1 if the object (user, group, computer) is a member of the specified group or any contained group.
; Syntax.........: _AD_IsMemberOf($sGroup[, $sObject = @Username[, $bIncludePrimaryGroup = False[, $bRecursive = False[, $iDepth = 10]]]])
; Parameters ....: $sGroup - Group to be checked for membership. Can be specified as sAMAccountName or Fully Qualified Domain Name (FQDN)
; $sObject - Optional: Object type (user, group, computer) to check for membership of $sGroup. Can be specified as sAMAccountName or Fully Qualified Domain Name (FQDN) (default = @UserName)
; $bIncludePrimaryGroup - Optional: Additionally checks the primary group for object membership (default = False)
; $bRecursive - Optional: Recursively check all groups of $sGroup up to the depth defined by $iDepth (default = False)
; $iDepth - Optional: Maximum depth of recursion (default = 10)
; Return values .: Success - 1, Specified object (user, group, computer) is a member of the specified group
; Failure - 0, @error set
; |0 - $sObject is not a member of $sGroup
; |1 - $sGroup does not exist
; |2 - $sObject does not exist
; Author ........: Jonathan Clelland
; Modified.......: water
; Remarks .......: Determines if the object is an immediate member of the group. This function does not verify membership in any nested groups.
; Related .......: _AD_GetUserGroups, _AD_GetUserPrimaryGroup, _AD_RecursiveGetMemberOf
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _AD_IsMemberOf($sGroup, $sObject = @UserName, $bIncludePrimaryGroup = False, $bRecursive = False, $iDepth = 10)
If _AD_ObjectExists($sGroup) = 0 Then Return SetError(1, 0, 0)
If _AD_ObjectExists($sObject) = 0 Then Return SetError(2, 0, 0)
If StringMid($sObject, 3, 1) <> "=" Then $sObject = _AD_SamAccountNameToFQDN($sObject) ; sAMAccountName provided
If StringMid($sGroup, 3, 1) <> "=" Then $sGroup = _AD_SamAccountNameToFQDN($sGroup) ; sAMAccountName provided
Local $oGroup = __AD_ObjGet("LDAP://" & $sAD_HostServer & "/" & $sGroup)
Local $iResult = $oGroup.IsMember("LDAP://" & $sAD_HostServer & "/" & $sObject)
If $iResult = 0 And $bRecursive = True Then
For $oMember In $oGroup.Members
If StringLower($oMember.Class) = 'group' Then
If $iDepth > 0 Then
If _AD_IsMemberOf($oMember.distinguishedName, $sObject, False, True, $iDepth - 1) Then Return 1
EndIf
Else
If StringLower($oMember.distinguishedName) = $sObject Then Return 1
EndIf
Next
EndIf
; Check Primary Group if $sObject isn't a member of the specified group and the flag is set
If $iResult = 0 And $bIncludePrimaryGroup Then $iResult = (_AD_GetUserPrimaryGroup($sObject) = $sGroup)
; Abs is necessary to make it work for AutoIt versions < 3.3.2.0 with bug #1068
Return Abs($iResult)
EndFunc ;==>_AD_IsMemberOf
[/autoit]Und zwar habe ich den Fall, dass sich ein user in einer globalen Gruppe "GRUPPE1" befindet und diese Mitglied einer anderen globalen Gruppe "GRUPPE2" ist.
Nun möchte ich feststellen, ob der User sich in Gruppe2 befindet. Jedoch gibt mir _AD_IsMemberOf nur eine 1 zurück, wenn der user direkt in der GRUPPE2 steckt.
[autoit]_AD_IsMemberOf("GRUPPE2","Username", True, True)
[/autoit]Mit FQDN habe ich es auch schon getestet, gleiches ergebnis.
Hoffe ihr könnt mich aus meiner missligen Lage befreien
Danke soweit
da würde ich eher nen alt+n senden, damit da nichts zwischen funkt
#include "AD.au3"
Local Const $wbemFlagReturnImmediately = 0x10
Local Const $wbemFlagForwardOnly = 0x20
$oMyError = ObjEvent("AutoIt.Error", "ComError")
[/autoit] [autoit][/autoit] [autoit]_WinWMI_UserAccount_Name()
[/autoit] [autoit][/autoit] [autoit]$oMyError = ObjEvent("AutoIt.Error", "")
;COM Error function
Func ComError()
If IsObj($oMyError) Then
$HexNumber = Hex($oMyError.number,
SetError($HexNumber)
Else
SetError(1)
EndIf
Return 0
EndFunc
Func _WinWMI_UserAccount_Name($Computer = '127.0.0.1')
[/autoit] [autoit][/autoit] [autoit]_AD_Open()
$WMIConnect = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\' & $Computer & '\root\CIMV2')
If Not IsObj($WMIConnect) Then Return SetError(-1, @error, 0)
$ObjList = $WMIConnect.ExecQuery('select Name,FullName,Disabled,Lockout from win32_useraccount', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If Not IsObj($ObjList) Then Return SetError(-2, @error, 0)
$sReturn = "INSERT INTO tbl_name (name,fullname,disabled,locked) Values"
For $ObjItem In $ObjList
$AD_DistinguishedName=_AD_GetObjectAttribute($ObjItem.Name, "DistinguishedName")
$objRootDSE = ObjGet("LDAP://RootDSE")
$strUserDN = $AD_DistinguishedName
$UserObj = ObjGet("LDAP://" & $strUserDN)
$sReturn &= "('"&$ObjItem.Name & "', '" & $ObjItem.FullName & "', '" & $ObjItem.Disabled & "', '" & $ObjItem.Lockout&"', '"&$UserObj.AllowLogon&"'),"
Next
If StringRight($sReturn,1) == "," Then $sReturn = StringTrimRight($sReturn,1)
ConsoleWrite($sReturn & @LF)
_AD_Close()
$UserObj = ""
EndFunc ;==>_WinWMI_UserAccount_Name
[/autoit]Mit Ldap scheint es zu klappen
Aber Danke
Moin,
ich möchte gerne auslesen, ob sich ein Bestimmter User am Teriminalserver anmelden kann (siehe Bild)
[Blockierte Grafik: http://i.imgur.com/EL24vSI.png]
Habe es schon mit der AD UDF von water versucht:
[autoit]#include "AD.au3"
[/autoit][autoit][/autoit][autoit]; Open Connection to the Active Directory
_AD_Open()
If @error Then Exit MsgBox(16, "Active Directory Example Skript", "Function _AD_Open encountered a problem. @error = " & @error & ", @extended = " & @extended)
MsgBox(0,"",_AD_GetObjectAttribute(@UserName, "msTsAllowLogin"))
[/autoit]Der scheint aber leider das TsAllowLogin nicht lesen zu können (CN z.B. geht aber)
http://msdn.microsoft.com/en-us/library/cc220551.aspx
Bei der WMI bin ich leider noch nicht fündig geworden. Regestry ebenso nicht
Wichitg zu wissen: es geht hier um die einzelnen User nicht um die generelle Anmeldung per WTS.
Jemand ne idee?
Bin dankbar für jeden Tipp
Ach wie blöde
in ner 6.bak steht der Backslash sogar noch drin.
Danke ... manchmal sieht man den Wald vor lauter Bäumen nicht
Bin wohl irgendwie mal auf entfernen oder so gekommen
Habe mit der aktuellen Autoitversion das Problem, dass ich nicht mehr auf die WMI zugreifen kann.
Mit der "alten" 3.3.8.1 lief das Skript noch.
#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]$a = _WinWMI_LogonSession()
If @error Then
MsgBox(0, "Fehler", "Fehlercode: " & @error)
Else
_ArrayDisplay($a)
EndIf
Func _WinWMI_LogonSession(Const $sComputer = "127.0.0.1")
Local $iC = 0
Local $oWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!" & $sComputer & "\root\CIMV2")
If @error Then Return SetError(1, 0, -1)
Local $oList = $oWMI.ExecQuery("SELECT * from Win32_LogonSession", "WQL", 0)
If Not IsObj($oList) Then Return SetError(2, 0, -1)
Local $aR[$oList.Count][9]
[/autoit] [autoit][/autoit] [autoit]For $i In $oList
$aR[$iC][0] = $i.AuthenticationPackage
$aR[$iC][1] = $i.Caption
$aR[$iC][2] = $i.Description
$aR[$iC][3] = $i.InstallDate
$aR[$iC][4] = $i.LogonId
$aR[$iC][5] = $i.LogonType
$aR[$iC][6] = $i.Name
$aR[$iC][7] = $i.StartTime
$aR[$iC][8] = $i.Status
$iC += 1
Next
Return $aR
EndFunc
Hat jemand schon eine Ähnliche Erfahrung gemacht?
ObjGet scheint das Problem zu sein.
Ich habe mich mal nach einiger Zeit wieder mit Autoit beschäftigt und schon hänge ich wieder am ersten Problem :D.
Und zwar bastel ich mir im Moment ein kleines Tool, um häufig verwendete Texte zu schreiben und um Abkürzungen zu verwenden ( Beispiel MfG -> Mit freundlichen Grüßen ).
Leider muss ich es öfters neu starten. Vor allem, wenn ich mal eine Stunde nicht am PC war und der Bildschirm gesperrt wird.
Aber der Fehler will sich mir nicht offenbaren.
Nun hoffe ich das ihr vielleicht eine Idee habt woran es liegen könnte.
Bin für jeden Tip Dankbar
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIT3Wrapper_UseUpx=n
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include "HotString.au3"
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $sIniFile = @ScriptDir & "\config.ini"
Local $bConvertermenu = False
Local $sVersion = "01.00.03"
Local $bConfigsave = False, $iConfigPID = ""
Opt("SendKeyDelay", IniRead($sIniFile, "Delay", "SendKeyDelay", "5"))
Opt("SendKeyDownDelay", IniRead($sIniFile, "Delay", "SendKeyDownDelay", "5"))
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1 + 2 +
FileInstall(".\config.ini", ".\config.ini")
ReadControlSendFunctions()
ReadSendFunctions()
ReadCopyPasteFunctions()
#region Tray Menue
$trayConfig = TrayCreateItem("Konfiguration öffnen", -1, -1, 1)
$trayConverter = TrayCreateItem("Absätze umwandeln", -1, -1, 1)
TrayCreateItem("")
$trayHelp = TrayCreateItem("Hilfe", -1, -1, 1)
$trayChangelog = TrayCreateItem("Letzte Änderungen", -1, -1, 1)
TrayCreateItem("")
$trayExit = TrayCreateItem("Beenden", -1, -1, 1)
While True
If $bConfigsave = True Then
If Not ProcessExists($iConfigPID) Then
Local $_hotString_hotkeys[1]
Local $_hotString_hotfuncs[1]
Local $_hotString_hottext[1]
ReadControlSendFunctions()
ReadSendFunctions()
ReadCopyPasteFunctions()
Opt("SendKeyDelay", IniRead($sIniFile, "Delay", "SendKeyDelay", "5"))
Opt("SendKeyDownDelay", IniRead($sIniFile, "Delay", "SendKeyDownDelay", "5"))
$bConfigsave = False
EndIf
EndIf
Local $tray = TrayGetMsg()
Switch $tray
Case $trayExit
Exit 0
Case $trayConfig
$iConfigPID = Run("notepad.exe " & $sIniFile)
TrayTip("Achtung!", "Änderungen werden erst übernommen, nachdem die Konfiguration gespeichert und geschlossen worden ist!", 10)
$bConfigsave = True
Case $trayConverter
MsgBox(0, "Converter", "Mit Bestätigung dieses Dialogs wird der Text aus der Zwischenablage angepasst und wieder in Ihre Zwischenablage eingefügt.")
ClipPut(StringReplace(StringReplace(ClipGet(), @CR, ""), @LF, "§br"))
Case $trayHelp
ShellExecute("http://****")
Case $trayChangelog
ShellExecute("http://****")
EndSwitch
WEnd
Func ReplacerArray()
Local $aReplArrayFunc[11][2] = [["§year", @YEAR],["§mon", @MON],["§mday", @MDAY],["§hour", @HOUR],["§min", @MIN],["§sec", @SEC],["§scriptdir", @ScriptDir],["§br", @LF],["§tab", "{TAB}"],["§winuser", @UserName],["§clip", ClipGet()]]
Return $aReplArrayFunc
EndFunc ;==>ReplacerArray
Func ReplacerArrayClip()
Local $aReplArrayFunc[11][2] = [["§year", @YEAR],["§mon", @MON],["§mday", @MDAY],["§hour", @HOUR],["§min", @MIN],["§sec", @SEC],["§scriptdir", @ScriptDir],["§br", @CRLF],["§tab", "{TAB}"],["§winuser", @UserName],["§clip", ClipGet()]]
Return $aReplArrayFunc
EndFunc ;==>ReplacerArray
Func ControlSendText($iSendKeyLenght, $sSendText)
$cut = ""
Local $aReplArray = ReplacerArray()
For $i = 1 To $iSendKeyLenght
$cut &= "{BS}"
Next
For $iCSr = 0 To UBound($aReplArray) - 1
$sSendText = StringReplace($sSendText, $aReplArray[$iCSr][0], $aReplArray[$iCSr][1])
Next
BlockInput(1)
ControlSend("", "", "", $cut & $sSendText)
BlockInput(0)
EndFunc ;==>ControlSendText
Func SendText($iSendKeyLenght, $sSendText)
$cut = ""
Local $aReplArray = ReplacerArray()
For $i = 1 To $iSendKeyLenght
$cut &= "{BS}"
Next
For $iCSr = 0 To UBound($aReplArray) - 1
$sSendText = StringReplace($sSendText, $aReplArray[$iCSr][0], $aReplArray[$iCSr][1])
Next
BlockInput(1)
Send($cut & $sSendText)
BlockInput(0)
EndFunc ;==>SendText
Func CopyPasteText($iSendKeyLenght, $sSendText)
$cut = ""
Local $aReplArray = ReplacerArrayClip()
For $i = 1 To $iSendKeyLenght
$cut &= "{BS}"
Next
For $iCSr = 0 To UBound($aReplArray) - 1
$sSendText = StringReplace($sSendText, $aReplArray[$iCSr][0], $aReplArray[$iCSr][1])
Next
BlockInput(1)
$tempClip = ClipGet()
ClipPut($sSendText)
Send($cut)
Send("^v")
BlockInput(0)
ClipPut($tempClip)
EndFunc ;==>CopyPasteText
Func ReadCopyPasteFunctions()
Local $aCopyPaste = IniReadSection($sIniFile, "CopyPaste")
If Not IsArray($aCopyPaste) Then Return
For $iCS = 1 To $aCopyPaste[0][0]
HotStringset($aCopyPaste[$iCS][0], "CopyPasteText", $aCopyPaste[$iCS][1])
Next
EndFunc ;==>ReadCopyPasteFunctions
Func ReadControlSendFunctions()
Local $aSendSection = IniReadSection($sIniFile, "ControlSend")
If Not IsArray($aSendSection) Then Return
For $iCS = 1 To $aSendSection[0][0]
HotStringset($aSendSection[$iCS][0], "ControlSendText", $aSendSection[$iCS][1])
Next
EndFunc ;==>ReadControlSendFunctions
Func ReadSendFunctions()
Local $aControlSendSection = IniReadSection($sIniFile, "Send")
If Not IsArray($aControlSendSection) Then Return
For $iCS = 1 To $aControlSendSection[0][0]
HotStringset($aControlSendSection[$iCS][0], "SendText", $aControlSendSection[$iCS][1])
Next
EndFunc ;==>ReadSendFunctions
Func _GetDateTime($iDateFormat = 0)
If $iDateFormat = 0 Then
Return @MDAY & "." & @MON & "." & @YEAR
ElseIf $iDateFormat = 1 Then
Return @YEAR & "/" & @MON & "/" & @MDAY
ElseIf $iDateFormat = 2 Then
Return @YEAR & @MON & @MDAY
ElseIf $iDateFormat = 3 Then
Return @HOUR & ":" & @MIN
Else
Return @MDAY & "." & @MON & "." & @YEAR & " " & @HOUR & ":" & @MIN
EndIf
EndFunc ;==>_GetDateTime
Oh das schaut gut aus! Danke
Ich würde mir gerne ein Programm basteln, welches mich z.B. beim schreiben von Mails (aber auch bei anderen Dingen) unterstützt.
Gedacht habe ich mir folgendes. Nach der Eingabe einer vordefinierten Zeichenkette soll ein vordefinierter Text erscheinen.
Beispiel: mfg -> Mit freundlichem Gruß
[autoit]#include <Misc.au3>
[/autoit][autoit][/autoit][autoit]Local $hDLL = DllOpen("user32.dll")
While 1
If _IsPressed("57", $hDLL) Then
Send("{BS}Wort" & @CRLF)
EndIf
Sleep(50)
WEnd
DllClose($hDLL)
Habe irgendwie keine Ahnung wie ichs anstelle. Hab Autoit bisher nur zur Automatisierung oder zum Auslesen von Daten genutzt
Hoffe ihr könnt mir helfen
Gruß Daniel
Schau dir mal die Hilfe zu mouseclick an: http://translation.autoit.de/onlinehilfe/fu…/MouseClick.htm
Hier der Code, wie er aussehen sollte:
#include <Misc.au3>
While True
if _IsPressed(01) then mousemove(500,500)
WEnd
EDIT: zu lahm :O