1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Concara

Beiträge von Concara

  • RunAs 'Explorer.exe' geht nicht...

    • Concara
    • 26. April 2010 um 11:50

    Fein wenn es jetzt klappt.
    Das mit dem logon_flag wollt ich dir eigendlich auch noch schreiben.

    Du musst dann aber den Punkt "ordnerfenster in einem eigenen prozess starten" beim Administrator schon gesetzt haben?
    Machst du das manuell oder hast du ein Lösung so wie ojo geschrieben hat?

    LG
    Concara

    Ps.: Wenn deine Frage beantwortet ist kannst du es ja als geschlossen kennzeichnen.

  • RunAs 'Explorer.exe' geht nicht...

    • Concara
    • 26. April 2010 um 10:09

    Sorry hab mich wohl nicht ganz verständlich ausgedrückt.
    Dieser Wert muss bei dem User gesetzt werden den du als Administrator angibst nicht bei dem User der gerade angemeldet ist.
    Also der Wert muss beim Administrator angegeben werden.
    Hmm dann kannst du es allerdings nicht mit einem Registry eintrag machen.
    Außer es kennt jemand einen Weg wie man unter Autoit einen HKCU Wert eines anderen Benutzers ändern kann.

  • RunAs 'Explorer.exe' geht nicht...

    • Concara
    • 26. April 2010 um 09:42

    HI!

    Also wenn es sich um Windows XP handelt dann ist das schon so wie mikexmagic gesagt hat.
    Zumindest solange man mit den den Standardeinstellungen von XP arbeitet.
    Man kann im Explorer unter Extras Ordneroptionen Ansicht den Punkt ordnerfenster in einem eigenen prozess starten anklicken.
    Dann kann man auch einen Explorer unter einem Anderen Benutzer starten.
    Das sollte dann auch mit Autoit klappen.
    Mit dem Commandline "runas /user:Administrator explorer" geht es auf jeden fall dann.

    Siehe dazu auch diesen Link http://www.winfaq.de/faq_html/Conte…p?h=tip1246.htm
    Hier ist der Registrywet angegeben der dafür verantwortlich ist.
    Dies könntest du nutzen um im deinem Script den Wert zu setzen.
    Denn als "normaler" User kannst du diesen Wert nicht umstellen.

    LG
    Concara

  • Processaffinität setzen

    • Concara
    • 5. Februar 2010 um 09:54

    Hi!

    Du hast da einen kleinen Fehler in deinem Script.

    [autoit]

    RunWait ("process.exe -a $i 1") falsch
    RunWait ("process.exe -a " & $i & " 1")

    [/autoit]

    Und einfach alle Werte durch gehen ist auch etwas unschön und dauert ziemlich lange.
    Deshalb mit ProcessList die vorhandenen einlesen und bei diesen dann versuchen die CPU Zugehörigkeit zu ändern.
    Ich denk, dass das aber nicht bei allen funktionieren wird.
    Vorallem bei den Systemprozessen nicht.

    [autoit]


    Dim $list1
    $list = ProcessList()
    For $i = 1 To $list[0][0]
    $list1 &= $list[$i][0] & " " & @TAB & $list[$i][1] & @CR
    RunWait ("process.exe -a " & $list[$i][1] & " 1","",@SW_HIDE) ;die Process.exe muss im gleichen Verzeichnis sein wie dieses Script!!!
    Next
    MsgBox(0, "", $list1)

    [/autoit]

    LG Concara

  • Stoppuhr für Fußball

    • Concara
    • 26. Januar 2010 um 16:40

    Hi Leute!

    Wie lange habt ihr für eure Scripte benötigt?
    Und warum haben alle bis das von Andy einen Time Bug.
    Es kann doch vorkommen, dass in der ersten Halbzeit auch noch nachgespielt wird.
    Bzw. dass nicht ganz genau 45 Minuten gespielt werden.
    Als Gimmick könnte man die GUI noch transparent gestallten und Vollbildschirm tauglich.
    Eventuell einen Nachspieltimer.
    Ok das sind nur Anregungen. Und wahrscheinlich nach dem Sprichwort: "Ohne Moos nix los" eher nicht zu bekommen. ;)
    Frei Übersetzt: Ohne Geld wird sich da nichts ergeben.

    Lg
    Concara

    P.S.: Der eigentlich mit Fussbal nichts am Hut hat

  • WIndows API Funktion LockFile

    • Concara
    • 26. Januar 2010 um 15:57

    Hi Andy !

    Vielendank für diese sehr umfangreiche Erklärung!!!

    Mein ürsprünglicher wunsch war es die Datei komplett zu sperren, sprich weder lesen noch schreiben.
    Das geht ja mit dem Befehl _WinAPI_CreateFile den du mir genannt hast.

    Kann mann mit $offset_high und $lenght_lock_high einen zweiten Bereich innerhalb der Datei locken?

    LG
    Concara

  • Tcp Netzwerk... Help(zum dritten xD)

    • Concara
    • 26. Januar 2010 um 15:35

    Hi!

    Dein Code ist nicht gerade aufgeräumt!
    Benutz doch mal die Funktion "Tidy AutoIT Source" unter Tools im SciTe!?

    Dein Hauptprogramm habe ich zum Testen etwa umgeschrieben.
    Habe ein paar Sachen weggelassen und etwas dazugefühgt damit man die GUI schließen kann.
    Dieses solltest du dir ohnehin noch etwas genauer ansehen und etwas umbauen.
    Mir war es zuviel Aufwand.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include<date.au3>
    TCPStartup()
    $gui = GUICreate("Server is loading...", 200, 100)
    $komischeskeineahnungwas = GUICtrlCreateProgress(1, 1, 199, 49)
    $Label = GUICtrlCreateLabel("Loading Includes...", 1, 50)
    GUISetState()
    $xx = 0
    $Timerdifftyp = 1
    $datafurset = "Loading Includes..."
    While 1
    GUICtrlSetData($komischeskeineahnungwas, $xx)
    GUICtrlSetData($Label, $datafurset)
    If GUIGetMsg() = -3 Then Exit
    If $xx = 0 Then
    ;~ #include<inc_consends.au3>
    $datafurset = "Startup intern Servers..."
    EndIf
    If $xx = 10 Then
    $Funcsocket = TCPListen("127.0.0.1", 00001)
    $Paramsocket = TCPListen("127.0.0.1", 00002)
    $PWsocket = TCPListen("127.0.0.1", 00003)
    $datafurset = "Start Accept for the Servers..."
    EndIf
    If $xx = 20 Then
    $acc = TCPAccept($Funcsocket)
    $Paramsocke = TCPAccept($Paramsocket)
    $PWSocke = TCPAccept($PWsocket)
    $datafurset = "Run Other Server..."
    EndIf
    If $xx = 30 Then
    Run("Shutdown-Server.exe")
    $datafurset = "Connect To Other Servers..."
    EndIf
    If $xx = 40 Then
    $Shutdownserver = TCPConnect("127.0.0.1", 26537)
    If $Shutdownserver = -1 Then
    MsgBox(0, "Can´t Connect to Shutdown Server", "")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $datafurset = "Load..."
    EndIf
    If $xx = 100 Then
    GUIDelete($gui)
    ExitLoop
    EndIf
    $xx = $xx + 10
    WEnd
    $Gui2 = GUICreate("Log", 300, 200)
    $Funcinput = GUICtrlCreateInput("Enter your Function", 1, 1, 149, 49)
    $Paraminput = GUICtrlCreateInput("Param", 1, 50, 149, 49)
    $Buttom_normal = GUICtrlCreateButton("Run normal Command", 150, 1, 149, 49)
    $Buttom_spezial = GUICtrlCreateButton("Run spezial Command", 150, 50, 149, 49)
    $edit_log = GUICtrlCreateEdit("", 1, 100, 299, 99)
    GUISetState()
    While 1
    $Timer1 = TimerInit()
    $Msg = GUIGetMsg($Gui2)
    Select
    Case $msg = $GUI_EVENT_CLOSE
    TCPShutdown()
    Exit

    Case $Msg = $Buttom_normal
    $Func = GUICtrlRead($Funcinput)
    TCPSend($Shutdownserver, $Func)
    If @error Then
    MsgBox(0,"","Commando nicht gesendet")
    Else
    MsgBox(0,"","Commando gesendet")
    EndIf

    Case $Msg = $Buttom_spezial
    $Func_spezial = GUICtrlRead($Funcinput)
    $Param_spezial = GUICtrlRead($Paraminput)
    TCPSend($Shutdownserver, $Func_spezial & " " & $Param_spezial)
    If @error Then
    MsgBox(0,"","Commando nicht gesendet")
    Else
    MsgBox(0,"","Commando gesendet")
    EndIf
    EndSelect
    WEnd

    [/autoit]

    Jetzt zum "Shutdown Server":

    Spoiler anzeigen
    [autoit]

    TCPStartup()
    $LShutServer = TCPListen("127.0.0.1", 26537) ;Listen sagt das englische Wort schon er horcht auf Port 26537
    While 1
    Do ; Mach das solange bis eine Verbindung hergestellt ist
    $Accept = TCPAccept($LShutServer) ;Ermöglicht/Lässt einen eingehenden Verbindungsversuch auf einem "Socket" zu.
    Until $Accept <> -1 ; -1 wird zurück gegeben solange keine Verbindung hergestellt wurde
    While 1 ; So Vebindung ist da jetzt kann was empfangen werden.
    $recv = TCPRecv($Accept, 2046)
    If @error Then ExitLoop ; Wenn jetzt dein Hauptprogramm geschlossen wird, wird bei TCPRecv ein Fehler auftretten.
    ; Dann wird die Schleife beendet und das Script wartet wieder bis eine neue Verbindung hergestellt wird.
    If $recv = "-h" Then Shutdown(1)
    If $recv = "all" Then
    MsgBox(0,"","Commando empfangen")
    ;~ ProcessClose("Server.exe")
    ;~ TCPShutdown()
    ;~ Exit
    EndIf
    WEnd
    TCPCloseSocket($Accept); Schließt den Socket damit eine neue Verbindung angenommen wird.
    $Accept = -1 ; da die Variable von vorhin als der Client (dein Haupt Server) verbunden war auf den socket identifier (Die Nummer der Verbindung) gesetzt wurde
    ; stellen wir sie auf -1 damit unsere Do Until Schleife wieder gereift und wartet bis eine Verbindung aufgebaut wird
    WEnd

    [/autoit]

    Ich habe Kommentare im Code hinterlassen.

    LG
    Concara

  • WIndows API Funktion LockFile

    • Concara
    • 26. Januar 2010 um 09:15

    Hi!

    Danke Andy und nuts !!!

    Mit _WinAPI_CreateFile() funktioniert das ganz gut. Andy es ist auch nicht kompliziert!
    Was ich wollte ist eigendlich DllCall und da sind mir die Parameter noch nicht ganz klar.
    Hat also mit der Verwendung von _WinAPI_CreateFile() nichts zu tun.

    Das Beispiel von nuts hat auch funktioniert.
    Wie gesagt da sind mir beim Dllcall diese int noch nicht verständlich.

    Zitat
    [autoit]

    $call =DllCall("Kernel32.dll", "bool", "LockFile", "hwnd", $file, "int", "", "int","", "int", "", "int", "")

    [/autoit]

    LG
    Concara

  • WIndows API Funktion LockFile

    • Concara
    • 22. Januar 2010 um 12:41

    Andy

    Super Danke das hilft mir weiter. Ah und in der Winapi.au3 sind auch die Dllcalls "versteckt".


    @ALL
    Kann mir wer das trotzdem mit Lockfile als Funktion, in einen Dllcall verwandel.
    Sprich mir ein Beispielscript zeigen.
    Denn das Aufrufen von Dlls ist für mich immer noch ein unbeschriebenes Blatt.

    Danke
    Concara

  • WIndows API Funktion LockFile

    • Concara
    • 22. Januar 2010 um 11:14

    Hallo Leute!

    Kann mir jemand erklären wie ich API Funktionen in Autoit nutzen kann.
    Soweit ich jetzt im Internet gelesen habe sind das Funktione die in DLL´s vorhanden sind.
    Konkret geht es um http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx eine Datei zu sperren.

    [autoit]

    $file = FileOpen ( "filename", mode )
    DllCall("Kernel32.dll", "BOOLEAN", "LockFile", "hwnd", $file)

    [/autoit]


    Den Code habe ich mir nur irgendwie zusammen gesucht und wird auch so nicht stimmen.
    Deshalb auch meine Bitte um Hilfe.

    Ich möchte damit eine Datei während ein Script läuft vor Bearbeitung und Kopierversuchen zu schützen.
    Wenn das Script fertig ist soll ein UnlockFile Dllcall erfolgen um die Datei wieder freizugeben.

    lg
    Concara

  • Kopieren des Temp Ordners in ein anderen Ordner mit Hilfe von DirCopy unter Windows 7

    • Concara
    • 21. Januar 2010 um 17:42

    HI!

    Leider kann ich dir nicht weiterhelfen sondern nur deine Ausage zum teil bestätigen.
    Also wenn ich versuche unter Windows 7 vom Temp Dir des Benutzers Dateien zu kopieren, funktioniert dies bei denen die in keiner Weise "gesperrt" sind.
    Bis Dircopy auf so eine Datei trifft. Dann gibt er einen Fehler (0) aus und beendet das kopieren.
    Ich kenne leider keine Möglichkeit dem Dircopybefehl zu sagen, dass er beim Versuch so eine Datei zu kopieren, diese zu ignorieren und bei der nächsten weitermachen soll.

    Zitat

    wenn man es peer Maus Kopiert geht es


    Wenn man "manuell" kopiert kopiert Win7 mehrere solcher zum teil "gesperrter" Dateien. Komisch ist aber so.
    Datein die "wirklich" in Verwendung sind kopiert auch win7 nicht.

    Eventuell kannst du dir mit robocopy oder xcopy helfen. Denn diese können Fehler beim Kopieren ignorieren.

    LG
    Concara

  • Script wird nicht beendet

    • Concara
    • 21. Januar 2010 um 15:10

    Hi!
    Wie soll man dir helfen wenn du dein Scrip nicht hier hereinstellst!?
    Hast auch ein DllClose gemacht wenn du eine verwendet hast!?
    Aber ohne mehr Informationen ist es schwierig dir zu helfen.
    Du könntest einige Consolwrite Befehle einbauen um zu sehen wie "weit" dein Script kommt.
    Damit man dann sieht wo es hängen bleibt.

  • FTP-Server mit AutoIt möglich?

    • Concara
    • 21. Januar 2010 um 14:45

    Hi!

    Also die Informationen bezüglich der commands gibts man glaubt es kaum im Internet. http://www.cs.colostate.edu/helpdocs/ftp.html
    http://de.kioskea.net/contents/outil…mandes-ftp.php3
    Ob es Sinnvoll ist liegt eigendlich nur bei dir. Da du ja schreibst etwas mit tcp/ip machen zu wollen find ich es persönlich ok.
    Wenn gleich es schon einige FTP Server im Internet frei zur Verfügung stehen.

    Edit:
    Falls du den so richtig "gut" programmieren willst dann kann ich dir nur als Anregung den Cesar FTP 0.99g empfehlen. http://www.chip.de/downloads/CesarFTP_18963480.html
    Der gefällt mir sehr gut wird aber schon einige Zeit lang nicht mehr weiterentwickelt.

  • Datenbank import automatisieren

    • Concara
    • 11. Januar 2010 um 21:29

    Hallo Leute!

    Ich möchte eine Datenbank erstellen, in der die Zählerstände unserer Kopierer gespeichert wird.
    Problem ist, dass wir 3 Kopierermodelle einsetzen und das Protokoll das ich bekomme unterschiedlich ist. (siehe Spoiler)
    Das größere Probelm ist wie bekomme ich überhaupt die Daten aus dem TXT File!?
    Wie man ein TXT File in autoit öffnen weiß ich, nur wie zerlege ich diese Datei so, dass ich damit etwas anfangen kann?
    Wenn ihr euch das erste TXT File anseht (siehe Spoiler) dann möchte ich das hier rausbekommen.

    2010/01/10;07:49:10;BK9SharpMX4500N;MX-4500N;7505038X00;148276;0;0;3426;3624;7941;184535;0;0;11394;710;0;0;273

    So kann ich es in die Datenbank importieren.

    Kann ich das mit StringRegExp bewerkstellingen und wenn ja könnt ihr mir ein Beispiel zeigen!?

    Danke
    Concara


    Spoiler anzeigen
    Code
    2010/01/10 07:49:10
    
    
    Gerätename: BK9SharpMX4500N
    Gerätemodel: MX-4500N
    
    
    Seriennummer: 7505038X00
    Gerätecode:
    
    
    Aktuelle Gerätezähler-Information:
    
    
    Zähler Schwarz-Weiß-Kopien = 148276
    Zähler zweifarbige Kopien = 0
    Zähler einfarbige Kopien = 0
    Zähler Vollfarbkopien = 3426
    
    
    Zähler Schwarz-Weiß-Druck = 36241
    Zähler Vollfarbdruck = 7941
    
    
    Gesamtzähler Schwarz-Weiß-Druck = 184535
    Zähler Gesamtdrucke zweifarbig = 0
    Zähler Gesamtdrucke einfarbig = 0
    Gesamtzähler Farbdruck = 11394
    
    
    Zähler Schwarz-Weiß-Scan = 710
    Zähler Zweifarbscanner = 0
    Zähler Einfarbscanner = 0
    Zähler Vollfarbscan = 273
    Alles anzeigen
    Code
    2010/01/10 09:00:09
    
    
    GERÄTENAME: HPSharpMXM450N
    GERÄTEMODELL: MX-M450N
    
    
    SERIENNUMMER: 7503152X00
    GERÄTECODE:
    
    
    Aktuelle Gerätezähler-Information:
    
    
    Kopienzählung = 30323
    Druckzählung = 26684
    Gesamtzählung = 57025
    Alles anzeigen
    Code
    2010/01/03 08:24:55
    
    
    Gerätename: PSharpMXM1100
    Gerätemodel: MX-M1100
    
    
    Seriennummer: 7000121000
    Gerätecode:
    
    
    Aktuelle Gerätezähler-Information:
    
    
    Zähler Schwarz-Weiß-Kopien = 3909927
    
    
    Zähler Schwarz-Weiß-Druck = 58424
    
    
    Gesamtzähler Schwarz-Weiß-Druck = 3968640
    Gesamtzähler Farbdruck = 0
    
    
    Zähler Schwarz-Weiß-Scan = 0
    Zähler Vollfarbscan = 0
    Alles anzeigen
  • Combo-Box mit variabel-vielen Einträgen

    • Concara
    • 30. November 2009 um 09:09

    Hi!

    Schau dir mal diesen Post an da ist ein Beispiel von Schnitzel und mir, das dir weiterhelfen könnte.
    http://www.autoit.de/index.php?page=Thread&postID=122416&highlight=#post122416
    LG Concara

  • Tippspiel mit Datenbankanbindung

    • Concara
    • 29. November 2009 um 19:27

    Hi!

    Also so wie du dein Problem beschreibst möchte man annehmen, dass du jemanden suchst der dir dieses Tippspiel programmiert!?
    Für unsere Profis hier im Forum ist das sicher auch keine all zu große Sache. Nur wird hier eigendlich "nur" Hilfestellung zu einem, ok manchmal sinde es auch ein paar mehr, Problem gegeben.
    Realisierbar ist es mit AutoIT auf jeden Fall.
    Also wenn du schon etwas Code hast dann poste ihn doch und Frag dazu eine konkrete Frage.
    Wenn du Ergebnise in deinem Spiel speichern willst gibt es mehere Möglichkeiten.
    Relativ einfache sind in eine TXT Datei zu speichern oder eine Inidatei dazu zu verwenden.
    Und warscheinlich die "schönste" mit Sqlite in eine Datenbank.
    Dazu müstest du dir aber noch zusätzlich Kenntnise in SQL erarbeiten.
    Ist zwar auch nicht weiter schlimm, kostet allerdings auch ein wenig Zeit und Mühe.
    Also wenn du willst das jemand anderes diesen Job für dich übernimmt, dann poste doch hier im Forum unter Jobbörse
    Wenn du es selber programmieren willst, dann kann ich dir nur die Hilfe zu Sqlite empfehlen.

    [autoit]

    _SQLite_Startup ()

    [/autoit]


    Wenn du mehr über SQL = Structured Query Language erfahren willst, gib bei google einfach sql ein und du findest sicher genug Material.

    LG
    Concara

  • [String] StringIsSpace - Leerstellen in einem String wegmachen

    • Concara
    • 19. November 2009 um 17:08

    Hi!

    Schau dir mal

    [autoit]

    StringStripWS ( "string", flag )

    [/autoit]

    an!

    LG Concara

    edit:

    Spoiler anzeigen
    [autoit]


    HotKeySet ("{Numpad5}","mach")
    While (1)
    Sleep (1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func mach ()
    $Text = InputBox ("","","Concara go home please")
    $Text = StringStripWS($Text, 7)
    ShellExecute("Notepad.exe")
    WinWait("Unbenannt")
    WinActivate("Unbenannt")
    $count = StringLen ($Text)
    For $i = 1 to $count
    If StringMid($Text, $i, 1) <> " " Then
    Send (StringLeft ($Text,$i))
    Send ("{Enter}")
    EndIf
    Next
    EndFunc

    [/autoit]
  • Variables Array Element aufrufen

    • Concara
    • 19. November 2009 um 16:58

    HI!

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate('')
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    $combo = GUICtrlCreateCombo("", 10, 10)
    $label = GUICtrlCreateLabel("", 10, 40, 150,20)
    Dim $array[3][2] = [["Google","www.google.de"], ["Windows","www.windows.com"], ["KeineAhnung","www.keineahnung.was"]]
    For $i = 0 To 2
    GUICtrlSetData($combo, $array[$i][0] & "|", $array[$i][0])
    Next

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $combo
    If GUICtrlRead($combo) = $array[0][0] Then
    GUICtrlSetData($label, $array[0][1])
    ElseIf GUICtrlRead($combo) = $array[1][0] Then
    GUICtrlSetData($label, $array[1][1])
    ElseIf GUICtrlRead($combo) = $array[2][0] Then
    GUICtrlSetData($label, $array[2][1])
    EndIf
    EndSelect
    WEnd

    [/autoit]
  • Netztraffic ermitteln

    • Concara
    • 13. November 2009 um 11:02

    Hi!

    Du könntest das ganze mit Netstat probieren.
    Dazu hat hier schon jemand im Forum Fragen gestellt.
    Ich finde leider den Post nicht mehr.
    Aber wie gesagt gib mal in der Kommandline netstat /? ein.
    Ich nehme an das Windows 7 diesen Befehl zur Verfügung stellt.

    LG
    Concara

  • In ListView Scrollen

    • Concara
    • 13. November 2009 um 10:53

    Hi!

    Ich habe dir auf deinen Post geantwortet.

    LG
    Concara

    Zitat von PrideRage

    Der Code ist auf dieser Seite.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™