BugFix , die Überprüfung ob Userinfo existiert oder nicht geschieht bei mir in Zeile 29-30. Und bei jedem Produkt in dem die Userinfo existiert wird dann der Username gesetzt.
Edit BugFix: oops, glatt überlesen - :keks:
BugFix , die Überprüfung ob Userinfo existiert oder nicht geschieht bei mir in Zeile 29-30. Und bei jedem Produkt in dem die Userinfo existiert wird dann der Username gesetzt.
Edit BugFix: oops, glatt überlesen - :keks:
Das Zauberwort heisst RegEnumKey!
;@Office-Variable @regwrite if then endif
;
;Username 2 Office V.2.5
;
;
;© dvp
;
;Msgbox INFO
MsgBox(0, "Username 2 Office by dvp", "Dieses Script trägt Ihren Usernamen in die MS Office Benutzerinformationen ein", 4)
;Usernamen in Hex wandeln
WinWaitNotActive("Username 2 Office by dvp")
#include <string.au3>
$String = (@username)
$Hex = _StringToHex($String)
$RegHex = ""
For $i = 1 To Stringlen($Hex) Step 2
$RegHex &= StringMid($Hex,$i,2) & "00"
Next
$RegHex &= "0000"
$instance = 1
While 1
$strRegKey = RegEnumKey("HKCU\Software\Microsoft\Office\",$instance)
If @error <> 0 Then ExitLoop
$instance += 1
$read = RegRead("HKCU\Software\Microsoft\Office\" & $strRegKey & "\Common\Userinfo", "Username")
If @error <> 0 Then ContinueLoop
;Schreibe Usernamen in Registry
RegWrite("HKCU\Software\Microsoft\Office\" & $strRegKey & "\Common\Userinfo", "UserName", "Reg_Binary", $RegHex )
;Überprüfe Username
$read = RegRead("HKCU\Software\Microsoft\Office\" & $strRegKey & "\Common\Userinfo", "Username")
if $read = $RegHex Then
MsgBox(0, "Username 2 Office by dvp", "Usernamen korrekt in MS Office übernommen", 4)
Else
MsgBox(0, "Username 2 Office by dvp", "Usernamen nicht korrekt in MS Office übernommen, bitte wenden Sie sich an dvp")
EndIf
Wend
ZitatOriginal von Phillipk
Also nochmal mein plahn:
Solange LinkeMaustaste durchgedrueckt ist, sende immer wieder LinkeMaustaste.Es soll ein autofire werden
Solange Du die linke Maustaste drückst wird doch linke Maustaste gesendet!
Oder soll ständiges loslassen und drücken simuliert werden?
Dann könnte das funktionieren:
#Include <Misc.au3>
While 1
If _IsPressed("01") Then
MouseDown("left")
Sleep(10)
MouseUp("left")
EndIf
If _IsPressed("1B") Then
Exit
EndIf
Sleep(10)
Wend
Nicht unbedingt, der zweite Parameter gibt das Arbeitsverzeichnis an, wenn keines angegeben wird wird das aktuelle Verzeichnis genommen.
Der_Doc, die Fehlermeldung kommt aber bestimmt nciht davon das Du ein Sleep entfernt hast! ![]()
Hallo!
Das mit dem Sleep kannst Du vernachlässigen wenn GuiGetMsg in der Schleife aufgerufen wird. Steht in der Bemerkung zu GuiGetMsg.
Hallo!
Am besten ist wenn Du alle Gui's am Anfang definierst und dann nur mit GuiSetState die entsprechende Gui ein und ausschaltest.
#include <GUIConstants.au3>
$Parent = GUICreate("MeineGUI",300,300)
$MESSAGE = "Simpsons"
$MESSAGE2 = "FamilyGuy"
$Message3 = "Stromberg"
;;;;;;;;;;;;;;;;;;;;;;
$font = "Comic Sans MS"
;;;;;;;;;;;;;;;;;
$pic_1=GUICtrlCreatePic("C:\Dokumente und Einstellungen\Phil\Eigene Dateien\temporär.JPG",0,-1,317,35,-1,-1)
$group_1=GUICtrlCreateGroup("bitte hier den Pfad des ICQ-Ordners angeben",28,38,243,82,-1,-1)
$input_1=GUICtrlCreateInput("",40,70,151,22,-1,-1)
$button_1=GUICtrlCreateButton("...",191,70,72,22,-1,-1)
$list_1=GUICtrlCreateList("",29,139,97,126,-1,-1)
GUICtrlSetLimit(-1,200) ;
GUICtrlSetData(-1,$MESSAGE)
GUICtrlSetData(-1,$MESSAGE2)
GUICtrlSetFont ( -1,9,400,"", $font)
GUICtrlSetData(-1,$MESSAGE3)
$button_2=GUICtrlCreateButton("Backup",157,140,115,30,-1,-1)
$button_3=GUICtrlCreateButton("Download",157,170,115,30,-1,-1)
$button_4=GUICtrlCreateButton("öffnen",157,199,115,30,-1,-1)
$button_5=GUICtrlCreateButton("speichern",157,228,115,30,-1,-1)
$Label_1=GUICtrlCreateLabel("©VaterGans|>|>|>https://autoit.de/www.test.de",154,285,152,22,-1,-1)
$subGui = GUICreate("MeineGUI",300,80)
$sub_Label1=GUICtrlCreateLabel("Das Backup wurde erfolgreich in ",73,1,156,16,-1,-1)
$sub_Label2=GUICtrlCreateLabel("",23,21,156,18,-1,-1)
$sub_Label3=GUICtrlCreateLabel("gespeichert!",210,19,68,17,-1,-1)
$sub_button1=GUICtrlCreateButton("Beenden",8,46,94,25,-1,-1)
$sub_button2=GUICtrlCreateButton("Ordner öffnen",115,46,85,25,-1,-1)
$sub_button3=GUICtrlCreateButton("Fertig",211,46,80,25,-1,-1)
GUISetState(@sw_show, $Parent)
[/autoit] [autoit][/autoit] [autoit]While 1
$msg= GUIGetMsg()
Select
Case $msg = $button_1
$sFolder = FileSelectFolder("Wähle den ICQ-Ordner aus.", 1)
If Not @error = 1 Or $sFolder <> "" Then
GUICtrlSetData($input_1, $sFolder)
$Pfad = GUICtrlRead($input_1)
GUICtrlSetData($input_1,$Pfad)
EndIf
Case $msg = $button_2 ;;;;;;;;BACKUP
$Pfad = GUICtrlRead($input_1)
DirCopy($Pfad,$Pfad & "\ICQ_Backup",1 )
If FileExists("C:\Programme\ICQ6\ICQ_Backup") Then
GUICtrlSetData($sub_Label2,$Pfad)
GUISetState(@SW_SHOW,$subGui)
EndIf
Case $msg = $sub_button1
GUISetState(@SW_HIDE,$subGui)
EndSelect
WEnd
Hallo!
So sollte es gehen, in den Paramter $strProgrammPath (am Anfang) musst Du noch den Pfad zum Programm Daenisch.exe eintragen. Wenn die Gui im gleichen Verzeichnis liegt kannst Du den Paramter so lassen.
#include <GuiConstants.au3>
Dim $strParams ; Variable für Parameterstring
Dim $strProgrammPath = "" ; Pfad zum Programm Daenisch.exe (mit abschliessemdem "\")
GuiCreate("Dänisch", 385, 221,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
[/autoit] [autoit][/autoit] [autoit]$Group_1 = GuiCtrlCreateGroup("daenisch.exe", 10, 10, 360, 140)
[/autoit] [autoit][/autoit] [autoit]$Input_2 = GuiCtrlCreateInput('ali_han', 100, 30, 260, 20)
$Input_3 = GuiCtrlCreateInput('134724', 100, 60, 260, 20)
$Input_4 = GuiCtrlCreateInput('Text 1', 100, 90, 260, 20)
$Input_5 = GuiCtrlCreateInput('Text 2', 100, 120, 260, 20)
$Label_6 = GuiCtrlCreateLabel("Namenskürzel", 20, 35, 70, 20)
$Label_7 = GuiCtrlCreateLabel("Sende-Nr.:", 20, 65, 60, 20)
$Label_8 = GuiCtrlCreateLabel("Text-A", 20, 95, 60, 20)
$Label_9 = GuiCtrlCreateLabel("Text-B", 20, 125, 60, 20)
$Button_10 = GuiCtrlCreateButton("OK", 180, 160, 190, 40)
$Pic_11 = GuiCtrlCreatePic("Pic11", 20, 160, 140, 50)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button_10
$strParams = '"' & GUICtrlRead($Input_2) & '" ' & _
'"' & GUICtrlRead($Input_3) & '" ' & _
'"' & GUICtrlRead($Input_4) & '" ' & _
'"' & GUICtrlRead($Input_5) & '"'
ShellExecute($strProgrammPath & "daenisch.exe", $strParams, $strProgrammPath) ; ausführen mit ShellExecute oder
;~ Run($strProgrammPath & "daenisch.exe " & $strParams, $strProgrammPath) ; mit Run
Case Else
;;;
EndSelect
WEnd
Exit
Ich habs übrigens so abgeändert das Du in der Gui keine Anführungszeichen mehr schreiben musst!
probiers mal so:
#include <GuiConstants.au3>
#include <GuiTab.au3>
$titel = IniRead( "config.ini", "Titel", "Titel", "Fehler")
$reloaded = 0
GuiCreate( $titel, 800, 600)
$tab = GuiCtrlCreateTab(0, 0, 800, 600)
$tab1 = GuiCtrlCreateTabItem("Daten eingeben")
$in = GUICtrlCreateInput ("test", 240, 280, 150, 20)
$save = GUICtrlCreateButton("Speichern", 60, 390, 100)
GUICtrlCreateTabItem("")
$tab2 = GuiCtrlCreateTabItem("Daten auslesen")
$label = GuiCtrlCreateLabel($titel, 30, 200)
GUICtrlCreateTabItem("")
GuiSetState()
$reloaded = 0
Do
$msg = GUIGetMsg()
$Selecttab = _GUICtrlTabGetCurSel($tab) ; Index des gewälten Tabs merken
Select
Case $msg= $save
IniWrite( "config.ini", "Titel", "Titel", GUICtrlRead($in))
Case $Selecttab = 0 ; Index des Items Nullbasiert
$reloaded = 0
Case $Selecttab = 1 ; Index des Items Nullbasiert
If $reloaded = 0 Then
; Reload durchführen
$reloaded = 1 ; Variable muss bei Programmstart auf "0" gesetzt sein
$titel = IniRead( "config.ini", "Titel", "Titel", "Fehler")
GUICtrlSetData($label,$titel)
EndIf ; hier was passieren soll (_reload )
EndSelect
Until $msg = $GUI_EVENT_CLOSE
Hallo!
Noch einmal langsam zum mitmeiseln: Auch beim ersten Parameter muss der Pfad zum Programm mit angegeben werden, ausser es handelt sich um ein Programm desen Pfad in der Path-Umgebungsvariable abgelegt ist.
run(@ProgramFilesDir & "\Microsoft Office\OFFICE11\WINWORD.EXE", @ProgramFilesDir & "\Microsoft Office\OFFICE11\")
[/autoit]Hallo!
@Flitzer: Kannst Du den auf anderem Wege EMails aus der Firma ins Internet senden?
sc4ry: Momentan kann man nur reinen Text mit senden (Content-Type: text/plain; charset=US-ASCII), um Anhänge mitsenden zu können muss man den Content-Type ändern und die Funktion entsprechend anpassen (viel Arbeit) ;-).
Hallo!
Hiermit sollte es gehen, einfach in $strComputer den gewünschten Rechnernamen oder IP-Adresse eintragen:
; Erstellt von AutoIt Scriptomatic
$wbemFlagReturnImmediately=0x10
$wbemFlagForwardOnly=0x20
$colItems=""
$strComputer="localhost"
$Output=""
$Output&="Computer: " &$strComputer & @CRLF
$Output&="==========================================" & @CRLF
$objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
$colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
$Output&="BootDevice: " &$objItem.BootDevice & @CRLF
$Output&="BuildNumber: " &$objItem.BuildNumber & @CRLF
$Output&="BuildType: " &$objItem.BuildType & @CRLF
$Output&="Caption: " &$objItem.Caption & @CRLF
$Output&="CodeSet: " &$objItem.CodeSet & @CRLF
$Output&="CountryCode: " &$objItem.CountryCode & @CRLF
$Output&="CreationClassName: " &$objItem.CreationClassName & @CRLF
$Output&="CSCreationClassName: " &$objItem.CSCreationClassName & @CRLF
$Output&="CSDVersion: " &$objItem.CSDVersion & @CRLF
$Output&="CSName: " &$objItem.CSName & @CRLF
$Output&="CurrentTimeZone: " &$objItem.CurrentTimeZone & @CRLF
$Output&="Debug: " &$objItem.Debug & @CRLF
$Output&="Description: " &$objItem.Description & @CRLF
$Output&="Distributed: " &$objItem.Distributed & @CRLF
$Output&="ForegroundApplicationBoost: " &$objItem.ForegroundApplicationBoost & @CRLF
$Output&="FreePhysicalMemory: " &$objItem.FreePhysicalMemory & @CRLF
$Output&="FreeSpaceInPagingFiles: " &$objItem.FreeSpaceInPagingFiles & @CRLF
$Output&="FreeVirtualMemory: " &$objItem.FreeVirtualMemory & @CRLF
$Output&="InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output&="LastBootUpTime: " & WMIDateStringToDate($objItem.LastBootUpTime) & @CRLF
$Output&="LocalDateTime: " & WMIDateStringToDate($objItem.LocalDateTime) & @CRLF
$Output&="Locale: " &$objItem.Locale & @CRLF
$Output&="Manufacturer: " &$objItem.Manufacturer & @CRLF
$Output&="MaxNumberOfProcesses: " &$objItem.MaxNumberOfProcesses & @CRLF
$Output&="MaxProcessMemorySize: " &$objItem.MaxProcessMemorySize & @CRLF
$Output&="Name: " &$objItem.Name & @CRLF
$Output&="NumberOfLicensedUsers: " &$objItem.NumberOfLicensedUsers & @CRLF
$Output&="NumberOfProcesses: " &$objItem.NumberOfProcesses & @CRLF
$Output&="NumberOfUsers: " &$objItem.NumberOfUsers & @CRLF
$Output&="Organization: " &$objItem.Organization & @CRLF
$Output&="OSLanguage: " &$objItem.OSLanguage & @CRLF
$Output&="OSProductSuite: " &$objItem.OSProductSuite & @CRLF
$Output&="OSType: " &$objItem.OSType & @CRLF
$Output&="OtherTypeDescription: " &$objItem.OtherTypeDescription & @CRLF
$Output&="PlusProductID: " &$objItem.PlusProductID & @CRLF
$Output&="PlusVersionNumber: " &$objItem.PlusVersionNumber & @CRLF
$Output&="Primary: " &$objItem.Primary & @CRLF
$Output&="QuantumLength: " &$objItem.QuantumLength & @CRLF
$Output&="QuantumType: " &$objItem.QuantumType & @CRLF
$Output&="RegisteredUser: " &$objItem.RegisteredUser & @CRLF
$Output&="SerialNumber: " &$objItem.SerialNumber & @CRLF
$Output&="ServicePackMajorVersion: " &$objItem.ServicePackMajorVersion & @CRLF
$Output&="ServicePackMinorVersion: " &$objItem.ServicePackMinorVersion & @CRLF
$Output&="SizeStoredInPagingFiles: " &$objItem.SizeStoredInPagingFiles & @CRLF
$Output&="Status: " &$objItem.Status & @CRLF
$Output&="SystemDevice: " &$objItem.SystemDevice & @CRLF
$Output&="SystemDirectory: " &$objItem.SystemDirectory & @CRLF
$Output&="TotalSwapSpaceSize: " &$objItem.TotalSwapSpaceSize & @CRLF
$Output&="TotalVirtualMemorySize: " &$objItem.TotalVirtualMemorySize & @CRLF
$Output&="TotalVisibleMemorySize: " &$objItem.TotalVisibleMemorySize & @CRLF
$Output&="Version: " &$objItem.Version & @CRLF
$Output&="WindowsDirectory: " &$objItem.WindowsDirectory & @CRLF
If Msgbox(1, "WMI-Ausgabe", $Output)=2 then ExitLoop
$Output=""
Next
Else
Msgbox(0, "WMI-Ausgabe","Keine WMI-Objekte gefunden für Klasse: " & "Win32_OperatingSystem")
Endif
Func WMIDateStringToDate($dtmDate)
Return (StringMid($dtmDate, 5, 2) &"/" &StringMid($dtmDate, 7, 2) &"/" &StringLeft($dtmDate, 4) & " " &StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2))
EndFunc
#include <string.au3>
$String = (@username)
$Hex = _StringToHex($String)
$RegHex = ""
For $i = 1 To Stringlen($Hex) Step 2
$RegHex &= StringMid($Hex,$i,2) & "00"
Next
$RegHex &= "0000"
RegWrite("HKCU\Software\Microsoft\Office\11.0\Common\Userinfo", "UserName", "Reg_Binary", $RegHex)
[/autoit]Hallo!
Altbekannter Fehler:
[autoit]RunAsSet("ADMINUSER", "DOMÄNE", "PASSWORT")
RunWait("C:\Program Files\DameWare Development\DameWare NT Utilities\DNTU.exe", "C:\Program Files\DameWare Development\DameWare NT Utilities\")
RunAsSet()
Poste mal dein Code!
Lösung:
[autoit]#include <string.au3>
$String = (@username)
$Hex = _StringToHex($String)
$RegHex = ""
For $i = 1 To Stringlen($Hex) Step 2
$RegHex &= StringMid($Hex,$i,2) & "00"
Next
RegWrite("HKCU\Software\Microsoft\Office\11.0\Common\Userinfo", "UserName", "Reg_Binary", $RegHex)
[/autoit]Hallo!
So gehts mit dem Mausklick auf das Splashfenster:
[autoit]#Include <Misc.au3>
[/autoit][autoit][/autoit][autoit]$hWnd = SplashTextOn("Test", "Das ist ein Test", 100, 50)
[/autoit][autoit][/autoit][autoit]While 1
If _IsPressed("01") Then
$arMGP = MouseGetPos() ; Mouseposition lesen
$arWGP = WinGetPos($hWnd) ; Position von Splash-Fenster lesen
If ($arMGP[0] >= $arWGP[0]) And ($arMGP[0] <= ($arWGP[0] + $arWGP[2])) And _
($arMGP[1] >= $arWGP[1]) And ($arMGP[1] <= ($arWGP[1] + $arWGP[3])) Then
SplashOff()
ExitLoop
EndIf
EndIf
Sleep(100)
WEnd
hallo!
Du musst doch nur beim speichern auch das Label aktualisieren!
#include <GuiConstants.au3>
$titel = IniRead( "config.ini", "Titel", "Titel", "Fehler")
GuiCreate( $titel, 1000, 800)
GuiCtrlCreateTab(0, 0, 1000, 800)
GuiCtrlCreateTabItem("Daten eingeben")
$in = GUICtrlCreateInput ("test", 240, 280, 150, 20)
$save = GUICtrlCreateButton("Speichern", 60, 390, 100)
$out = GuiCtrlCreateTabItem("Daten auslesen")
If IniRead( "config.ini", "Titel", "Titel", "Fehler") <> $in Then
GuiCtrlsetData($out, IniRead( "config.ini", "Titel", "Titel", "Fehler"))
EndIf
$label = GuiCtrlCreateLabel($titel, 30, 200)
GUICtrlCreateTabItem("")
GuiSetState()
Do
$msg = GUIGetMsg()
Select
Case $msg= $save
IniWrite( "config.ini", "Titel", "Titel", GUICtrlRead($in))
$titel = IniRead( "config.ini", "Titel", "Titel", "Fehler")
GUICtrlSetData($label,$titel)
EndSelect
Until $msg = $GUI_EVENT_CLOSE
Hallo!
Ein kleiner Hinweis zu den Punkten:
Die Buchstaben werden in der Registry nicht als Byte (8 Bit) sondern als Word (16 Bit) abgelegt. D.h. das hoherwertige Byte ist immer 0x00. Der Wert 0x00 kann aber nicht angezeigt werden und als erstatzzeichen wird der Punkt dargestellt. Es ist also nicht einfach damit getan einen Punkt nach dem Buchstaben in die Registry zu schreiben, sondern die Zeichen müssen mit Reg_Binary in die Registry geschrieben werden und nach jedem Zeichen ein 0x00 eingefügt werden.
Für Office 2000 steht die Info in der Registry unter:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo
Hallo!
Nein, der smtp.1und1.de kennt das kommando AUTH LOGIN, daran kann es also nicht liegen, du kannst ja mal noch einen Text für die Variable $s_helo angeben. Das kann ein xbelibiger Text sein er darf nur keine Leer- und Sonderzeichen enthalten, ansonsten schicke mir mal deinen Code!
Edit bernd670: Fehler behoben! -> Edit vom 18.04.07 beachten!
Hi!
Fast richtig, Variablen können nicht in Anführungszeichen stehen:
InetGet($datei1, @ScriptDir & $datei2)