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. veronesi

Beiträge von veronesi

  • RunAs und Netzlaufwerk + Variablenübergabe zwischen 2 Scripten

    • veronesi
    • 12. November 2010 um 13:08

    Die Netzlaufwerke haben schon eine Freigabe. Sonst könntest Du sie nicht im Explorer als Laufwerksbuchstabe einbinden.

    Aber wenn Du auf dem Test-PC auf welchem Du das Script nun testest, alle Netzlaufwerke, welche Du benötigst, eingebunden hast, dann sollte es auch ohne UNC Pfad (also mit den direkten Laufwerksbuchstaben) laufen!

    Immer vorausgesetzt Du hast die notwendigen Berechtigungen auf dem Share!

    Blöde Frage: Du hast schon das Wort "Domäne" durch Deinen Domänennamen ersetzt?
    Hast Du Win7? Wenn ja, schon mal mit #RequireAdmin probiert?

  • RunAs und Netzlaufwerk + Variablenübergabe zwischen 2 Scripten

    • veronesi
    • 12. November 2010 um 11:44

    Nein, UNC Pfad geht so:

    \\Servername\Freigabe\Pfad1\Pfad2\script.exe
    Also z.B. \\filesrv27\development\Scripts\test\script.exe

    Edit:
    Also Dein Problem ist immer noch, dass Du das andere Script nicht aufrufen kannst?
    Das mit der Variablenübergabe etc. können wir anschauen, wenn der Aufruf erst einmal klappt!

  • RunAs und Netzlaufwerk + Variablenübergabe zwischen 2 Scripten

    • veronesi
    • 12. November 2010 um 10:51

    Ist das Q-Laufwerk auch verbunden?
    Sonst versuche es mal mit dem UNC Pfad!

    Und bei RunAs: Versuche es mal mit der Zahl 0 (Interaktives Logon ohne Profil)

  • RunAs und Netzlaufwerk + Variablenübergabe zwischen 2 Scripten

    • veronesi
    • 12. November 2010 um 10:35

    Am Besten zeigst Du uns mal Deine beiden Scripts / bisherige Versuche.
    Dann können wir dir helfen, die Fehler zu suchen!

  • Refreshfehler bei _ArrayDisplay

    • veronesi
    • 8. November 2010 um 13:00

    Da ich diesen Effekt hier nicht nachvollziehen kann, würde ich eher nicht auf ein AutoIt Problem tippen.

    Ich hatte schon ähnliche (nicht die gleichen) Effekte und schlussendlich war einmal die Grafikkarte im Eimer und ein anderes mal der Grafikkartentreiber.
    Umso mehr, dass es bei Dir ja auf einem anderen PC läuft....

    Grüsse
    Veronesi

  • SendenAn mit Übergabe an ZIP

    • veronesi
    • 5. November 2010 um 13:08

    Also wenn Du das folgende Script als EXE speicherst und dann z.B. eine Verknüpfung dazu in den SendTo Ordner legst, dann kannst Du mehrere Dateien markieren, Senden An... wählen und das Script auswählen.

    Somit bekommst Du alle einzelnen Dateien, welche du dann weiterverarbeiten kannst!

    [autoit]

    If $CmdLine[0] = 0 Then Exit
    For $i = 1 To $CmdLine[0]
    MsgBox(0, "Datei Nummer " & $i, $CmdLine[$i])
    Next

    [/autoit]
  • Sporadische Fehler - Bildschirmauflösung verändern

    • veronesi
    • 5. November 2010 um 08:54
    Zitat von tkausl

    Hast du es mal mit #RequireAdmin versucht?
    Ich weiß jetzt nicht, auf welchen Systemen es nicht funktioniert, aber Windoof ist ja etwas eigen mit den Rechten...

    Hallo!
    Nein, habe ich in diesem Script noch nicht. Doch da es ja meistens funktioniert dürfte es nicht daran liegen.

    Das Problem ist, dass wenn ich ein #RequireAdmin dranhänge, der Benutzer immer die UAC bestätigen musst, wenn er mein Programm startet.
    Das möchten wir in diesem Fall nicht. Und die UAC deaktivieren kommt auf diesem Netzwerk-PC vom Administrator aus nicht in Frage.

    Das Problem ist doch, dass es meistens geht, aber nicht immer. Wenn man dann manuell in der Systemsteuerung die Aufösung ändert, funktioniert alles.
    Also hat Windows vermutlich noch "andere Möglichkeiten" um die Auflösung korrekt zu setzen.

    Trotzdem danke für den Input!
    Veronesi

  • Sporadische Fehler - Bildschirmauflösung verändern

    • veronesi
    • 5. November 2010 um 07:24

    Guten Morgen!

    Ich habe das mal versucht. Doch leider konnte ich den 2. Fehler nicht mehr direkt reproduzieren.
    Er taucht zwar noch auf, aber mit einem etwas geänderten Script:

    Wenn ich anstelle eines HotKeys eine Adlibregister definiere und die Auflösung alle 5 Sekunden einstellen lasse, dann tritt der Fehler auf einem XP System auf, wenn man per Remote auf diesen PC verbindet und die Verbindung wieder trennt.

    Da dies aber ein Spezialfall ist, lasse ich die 2. Fehlermeldung mal beiseite!

    Viel mehr würde mich interessieren, warum mein Script manchmal die Auflösung nicht einstellen kann, manuell aber schon!
    Oder anderst gefragt: Gibt es eine andere Methode um die Auflösungen zu verändern? Ich meine Windows kann das ja auch tun....

    Grüsse
    Veronesi

  • Sporadische Fehler - Bildschirmauflösung verändern

    • veronesi
    • 3. November 2010 um 19:11

    Guten Abend

    Hat schon jemand eine zündende Idee?
    Vielen Dank für alle Anregungen.

  • Sporadische Fehler - Bildschirmauflösung verändern

    • veronesi
    • 3. November 2010 um 07:26

    Hallo zusammen,

    ich habe ein Script, welches bei uns im Einsatz ist und bei allen angeschlossenen Bildschirmen die Auflösung auf eine vordefinierte Auflösung ändert.
    Das klappt soweit sehr gut.

    Verwendetes Script
    [autoit]

    #Region ;Header
    ;===============================================================================================================================
    ;Description......: Set Screen Resolution
    ;Author...........: Veronesi
    ;Date.............: 03.09.2010
    ;===============================================================================================================================
    #NoTrayIcon
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_icon=WEY.ico
    #AutoIt3Wrapper_Res_Comment=Set Screen Resolution
    #AutoIt3Wrapper_Res_Description=Set Screen Resolution
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.1
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=Veronesi

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

    Opt("MustDeclareVars", 1) ;Must declare variables
    OnAutoItExitRegister("_Exit") ;Create defined Exit Callback Register
    _Singleton(@ScriptName) ;Allow only one instance of this script at the same time
    HotKeySet("{ESC}","_Exit") ;ESC-Hotkey
    HotKeySet("{F8}","_SetResolution") ;ESC-Hotkey

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

    #include-once
    #include <Misc.au3>
    #EndRegion ;End of Header
    ;===============================================================================================================================

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

    #Region ;Variables, Constants
    Dim Const $ScreenWidth = 2560
    Dim Const $ScreenHeight = 1600
    Dim Const $BitPP = 32
    Dim Const $RefreshRate = 60

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

    Dim $aMonitorInfo
    #EndRegion ;End of Variables, Constants
    ;===============================================================================================================================

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

    #Region ;Main
    While 1
    Sleep(5000)
    WEnd
    Exit
    #EndRegion ;End of Main
    ;===============================================================================================================================

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

    #Region ;Functions
    Func _SetResolution()
    $aMonitorInfo = _GetMonitorInfo()
    For $i = 1 To $aMonitorInfo[0][0]
    _ChangeScreenRes($i, $ScreenWidth, $ScreenHeight, $BitPP, $RefreshRate)
    Next
    Return 1
    EndFunc ;==>_SetResolution

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

    Func _ChangeScreenRes($i_DisplayNum = 1, $i_Width = @DesktopWidth, $i_Height = @DesktopHeight, $i_BitsPP = @DesktopDepth, $i_RefreshRate = @DesktopRefresh)
    ;===============================================================================
    ; Function Name: _ChangeScreenRes()
    ; Description: Changes the current screen geometry, colour and refresh rate.
    ; Version: 1.0.0.0
    ; Parameter(s): $i_DisplayNum - Display to change, starting at 1
    ; $i_Width - Width of the desktop screen in pixels. (horizontal resolution)
    ; $i_Height - Height of the desktop screen in pixels. (vertical resolution)
    ; $i_BitsPP - Depth of the desktop screen in bits per pixel.
    ; $i_RefreshRate - Refresh rate of the desktop screen in hertz.
    ; Requirement(s): AutoIt Beta > 3.1
    ; Return Value(s): On Success - Screen is adjusted, @ERROR = 0
    ; On Failure - sets @ERROR = 1
    ; Forum(s):
    ; Author(s): Original code - psandu.ro, PartyPooper
    ; Modifications - bobchernow
    ;===============================================================================
    Local Const $DM_PELSWIDTH = 0x00080000
    Local Const $DM_PELSHEIGHT = 0x00100000
    Local Const $DM_BITSPERPEL = 0x00040000
    Local Const $DM_DISPLAYFREQUENCY = 0x00400000
    Local Const $CDS_TEST = 0x00000002
    Local Const $CDS_UPDATEREGISTRY = 0x00000001
    Local Const $DISP_CHANGE_RESTART = 1
    Local Const $DISP_CHANGE_SUCCESSFUL = 0
    Local Const $HWND_BROADCAST = 0xffff
    Local Const $WM_DISPLAYCHANGE = 0x007E
    If $i_Width = "" Or $i_Width = -1 Then $i_Width = @DesktopWidth; default to current setting
    If $i_Height = "" Or $i_Height = -1 Then $i_Height = @DesktopHeight; default to current setting
    If $i_BitsPP = "" Or $i_BitsPP = -1 Then $i_BitsPP = @DesktopDepth; default to current setting
    If $i_RefreshRate = "" Or $i_RefreshRate = -1 Then $i_RefreshRate = @DesktopRefresh; default to current setting
    Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
    Local $s_Display

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

    $s_Display = "\\.\Display" & $i_DisplayNum

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

    Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "int", 0, "ptr", DllStructGetPtr($DEVMODE))

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

    If @error Then
    $B = 0
    SetError(1)
    Return $B
    Else
    $B = $B[0]
    EndIf
    If $B <> 0 Then
    DllStructSetData($DEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5)
    DllStructSetData($DEVMODE, 4, $i_Width, 2)
    DllStructSetData($DEVMODE, 4, $i_Height, 3)
    DllStructSetData($DEVMODE, 4, $i_BitsPP, 1)
    DllStructSetData($DEVMODE, 4, $i_RefreshRate, 5)

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

    ;~ $B = DllCall("user32.dll", "int", "ChangeDisplaySettingsEx","str", $s_Display, "ptr", DllStructGetPtr($DEVMODE), "hwnd", 0, "dword", $CDS_TEST, "lparam", 0)
    ;~ If @error Then
    ;~ $B = -1
    ;~ Else
    ;~ $B = $B[0]
    ;~ EndIf
    ;~ Select
    ;~ Case $B = $DISP_CHANGE_RESTART
    ;~ $DEVMODE = ""
    ;~ Return 2
    ;~ Case $B = $DISP_CHANGE_SUCCESSFUL
    DllCall("user32.dll", "int", "ChangeDisplaySettingsEx","str", $s_Display, "ptr", DllStructGetPtr($DEVMODE), "hwnd", 0, "dword", $CDS_UPDATEREGISTRY, "lparam", 0)
    ;~ DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _
    ;~ "int", $i_BitsPP, "int", $i_Height * 2 ^ 16 + $i_Width)
    $DEVMODE = ""
    Return 1
    ;~ Case Else
    ;~ $DEVMODE = ""
    ;~ SetError(1)
    ;~ Return $B
    ;~ EndSelect
    EndIf
    EndFunc;==>_ChangeScreenRes

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

    Func _GetMonitorInfo()
    ;Returns some informations about your screens
    ;Call: _GetMonitorInfo()
    ;Return: Array With
    ;[0][0] Nr of Monitors
    ;[1][0] X Resolution of Monitor 1
    ;[1][1] Y Resolution of Monitor 1
    ;[1][2] X Position of Monitor 1
    ;[1][3] Y Position of Monitor 1

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

    ;[2][0] X Resolution of Monitor 2
    ;[2][1] Y Resolution of Monitor 2
    ;[2][2] X Position of Monitor 2
    ;[2][3] Y Position of Monitor 2
    ;......

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

    Local $NrOfMonitors, $ResolutionX[32], $ResolutionY[32], $PositionX[32], $PositionY[32], $Ret
    Local $cbMonitorEnumProc = DllCallbackRegister("MonitorEnumProc", "ubyte", "ptr;ptr;ptr;int")

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

    If @error Then Return SetError(1, 0, False)
    Local $strctCount = DllStructCreate("uint Count;uint Width[12];uint Height[12];int left[12];int top[12]")
    If @error Then Return SetError(2, @error, False)
    Local $iCount

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

    DllStructSetData($strctCount, "Count", 0)

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

    $Ret = DllCall("User32.dll", "ubyte","EnumDisplayMonitors","ptr", 0,"ptr", 0, "ptr", DllCallbackGetPtr($cbMonitorEnumProc), "ptr", DllStructGetPtr($strctCount))
    If @error Or $Ret[0] = 0 Then Return SetError(3, @error, False)

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

    DllCallbackFree($cbMonitorEnumProc)

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

    $iCount = Int(DllStructGetData($strctCount, "Count"))
    If @error Then Return SetError(4, @error, False)

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

    Local $aMonitors[$iCount+1][4] = [[$iCount]]

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

    For $i = 1 To $iCount
    $aMonitors[$i][0] = Int(DllStructGetData($strctCount, "Width",$i))
    If @error Then Return SetError(5, @error, False)
    $aMonitors[$i][1] = Int(DllStructGetData($strctCount, "Height",$i))
    If @error Then Return SetError(6, @error, False)
    $aMonitors[$i][2] = Int(DllStructGetData($strctCount, "left",$i))
    If @error Then Return SetError(7, @error, False)
    $aMonitors[$i][3] = Int(DllStructGetData($strctCount, "top",$i))
    If @error Then Return SetError(8, @error, False)
    Next

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

    $strctCount = 0
    Return $aMonitors
    EndFunc

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

    Func MonitorEnumProc($hMonitor, $hdcMonitor, $lprcMonitor, $dwData)
    Local $strctRECT = DllStructCreate("long left;long top;long right;long bottom", $lprcMonitor)
    Local $strctCount = DllStructCreate("uint Count;uint Width[12];uint Height[12];int left[12];int top[12]", $dwData)
    Local $iNumber = DllStructGetData($strctCount, "Count")
    Local $Height = Int(DllStructGetData($strctRECT, "bottom"))-Int(DllStructGetData($strctRECT, "top"))
    Local $Width = Int(DllStructGetData($strctRECT, "right"))-Int(DllStructGetData($strctRECT, "left"))

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

    DllStructSetData($strctCount, "Width", $Width, $iNumber+1)
    If @error Then Return SetError(9, @error, False)
    DllStructSetData($strctCount, "Height", $Height, $iNumber+1)
    If @error Then Return SetError(10, @error, False)
    DllStructSetData($strctCount, "left", Int(DllStructGetData($strctRECT, "left")), $iNumber+1)
    If @error Then Return SetError(11, @error, False)
    DllStructSetData($strctCount, "top", Int(DllStructGetData($strctRECT, "top")), $iNumber+1)
    If @error Then Return SetError(12, @error, False)
    DllStructSetData($strctCount, "Count", $iNumber+1)
    If @error Then Return SetError(13, @error, False)
    Return True
    EndFunc

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

    Func _Exit()
    HotKeySet("{ESC}") ;Delete Hotkey
    HotKeySet("{F8}") ;Delete Hotkey
    Exit
    EndFunc ;==>_Exit
    #EndRegion ;End of Functions

    [/autoit]

    Das Problem ist nun, dass wir im laufenden PC Betrieb die Monitore abhängen und neue anschliessen müssen. (Kabel und Monitor Test)
    Da pro Tag über 500 neue Monitore an diesen Testplatz angeschlossen werden, können wir nicht jedes mal den PC neu starten. Auf dem PC ist Win7 64bit.

    In 460 von 500 Fällen erkennt Windows automatisch die Monitore und stellt die Auflösung korrekt ein. In den restlichen Fällen kommt mein Script zum Einsatz, welches per F8 Hotkey die Auflösung setzt. Das klappt auch - aber "bloss" in 80% der Fällen.

    Manchmal kann die Auflösung per Script einfach nicht gesetzt werden. (Auch wenn man es mehrmals hintereinander versucht)
    Es kommt auch kein Fehler oder so von der Funktion zurück! (Fehlerbehandlung ist in diesem Script wieder gelöscht worden)

    Geht man dann aber manuell in die Systemsteuerung und stellt es dort ein, dann geht es. D.h. Windows selber kann es, aber mein Script nicht.

    1. Frage: Warum kann das mein Script manchmal nicht? Sieht jemand einen unbehandelten Fehler?
    2. Frage: Manchmal kommt beim starten des Scripts oder auch während der Laufzeit einen AutoIt Error mit der Meldung, dass eine (Array) Variable benutzt wurde, die noch nicht definiert ist. Findet jemand den Fehler?
    Manchmal habe ich das Gefühl, wenn man das Script lange laufen lässt, und dann beendet und sofort so schnell wie möglich das Script neu startet, dass dann dieser Fehler öfters auftaucht. Wie wenn noch was im Speicher wäre...

    Hinweis: Die auskommentierten Zeilen in der Funktion _ChangeScreenRes habe ich auch schon drin gehabt. Es tauchen die gleichen sporadischen Fehler auf.

    Vielen Dank!
    Veronesi

  • Performance

    • veronesi
    • 1. November 2010 um 12:25

    Hallo!

    Habe das Script soeben ausgeführt.
    Doch ich kann keine Beeinträchtigung feststellen. Wenn ich vertikal scrolle (schnell oder langsam) passiert genau das, was ich erwarte: Die Feldpositionen ändern sich.

    Bei mir läuft das flüssig. Hast Du einen älteren Rechner oder eine schwache Grafikkarte?

    Lg Veronesi

  • #RequireAdmin - Grosses Problem

    • veronesi
    • 29. Oktober 2010 um 11:42

    Hmm, danke Euch.

    Ich setze das mal auf gelöst, weil ich davon ausgehe, dass das Problem bei mir lokal ist!
    Vielen Dank!

  • #RequireAdmin - Grosses Problem

    • veronesi
    • 29. Oktober 2010 um 10:52

    Wenn ich es als EXE kompilliere, dann funktioniert es. Doch sonst nicht!

  • #RequireAdmin - Grosses Problem

    • veronesi
    • 29. Oktober 2010 um 10:49

    Es kommt nur dann keine UAC Meldung, wenn Du diese ausgeschaltet hast.
    Aber standardmässig kommt auch als lokaler Admin unter Win7 die Meldung.

    Einziger Unterschied: Wenn Du lokaler Admin bist, musst Du Passwort nicht mehr eingeben, sondern kannst direkt auf Ja / Yes klicken.

    Doch warum funktioniert mein Script nicht?

  • #RequireAdmin - Grosses Problem

    • veronesi
    • 29. Oktober 2010 um 10:31

    Hallo Zusammen

    Irgendwie steh ich gerade auf dem Schlauch!
    Folgendes Script unter Win7 64bit ausführen. (Ich bin lokaler Admin)

    [autoit]


    #RequireAdmin
    MsgBox(0,"","test")

    [/autoit]

    Ich bekomme zwar die UAC Meldung, die bestätige ich, doch dann passiert nichts mehr. Keine Messagebox!
    Allerdings das Beispiel in der englischen Hilfe funktioniert einwandfrei!

    Was ist hier falsch?

    Nachtrag: Wenn ich das Script aus der Hilfe kopiere dann funktioniert es bei mir auch nicht!

    Grüsse
    Veronesi

  • Systemweiter Hotkey

    • veronesi
    • 24. September 2010 um 14:15

    .... bei mir nicht ;)

  • Systemweiter Hotkey

    • veronesi
    • 24. September 2010 um 13:55

    Schau Dir mal unter Opt() die Funktion "SendKeyDelay" an.

    Wenn teile des Strings nicht "ankommen" könnte dies daran liegen, dass der PC zu langsam ist, das zu verarbeiten.
    In diesem Fall solltest Du die Verzögerung erhöhen.
    Auch den Befehl "SendKeepActive" solltest Du mal anschauen!

    Bei mir läuft das Script jedoch auch so einwandfrei.

    Gruss

    Nachtrag:

    Zitat von Kijan

    es funzt bei mir nicht mit der kombi bei SciTe aber wenn du zB nur "d" nimmst dann gehts


    Bei mir geht diese Tastenkombination einwandfrei. Vielleicht besetzt die ein anderes laufendes (System)Programm, welches nicht überschrieben werden will/kann?

  • ListView Sortieren aber mit GUI Events

    • veronesi
    • 12. September 2010 um 07:50

    Hoi Oscar.
    Vielen Dank für die Lösung.

    Ich weiß nicht weshalb, aber ich stand wohl gerade mächtig auf dem Schlauch.
    Ist ja eigentlich ganz einfach!

    Danke!
    Veronesi

  • ListView Sortieren aber mit GUI Events

    • veronesi
    • 11. September 2010 um 21:20

    Hallo Zusammen,

    ich suche nach einer (einfachen) Möglichkeit, eine Listview per Mausklick (auf die Spaltenüberschriften) zu sortieren.
    Dazu habe ich folgende Lösung gefunden: Listview sortieren
    Diese kurze Lösung verstehe sogar ich! ;)

    Aber ich verwende die GUI Events. Deshalb kann ich nicht die GUI Messages abfragen.

    Deshalb suche ich nun nach einer Möglichkeit einen Event zu generieren, wenn jemand auf eine Spaltenüberschrift geklickt hat, damit ich dann per

    [autoit]

    _GUICtrlListView_SortItems($hListView, GUICtrlGetState($hListView))

    [/autoit]

    sortieren kann.

    Der gesamte Code sollte wenn möglich so einfach sein, wie der oben zitierte. Denn bei dem komme ich nicht wirklich mit....

    Vielen Dank für Eure Hilfen!

    Veronesi

  • SaveDialog in einer gelockten RDP-Session

    • veronesi
    • 7. September 2010 um 07:14
    Zitat von Dietmar

    Beim Trennen sperrt MS Tastaur und Maus!
    mit VNC würde es funktionieren

    Ja, beim normalen Abmelden schon. Aber es gibt einen Trick!

    Zitat von bigmac38

    Ja, so in der Art, aber wie soll das gehen?

    Ich bin derzeit etwas ratlos.


    Probier mal das:
    [autoit]


    RunAs($Username, @LogonDomain, $Password, 0, @ComSpec & " /c " & @WindowsDir & "\system32\tscon.exe 0 /dest:console", "", @SW_HIDE)
    RunAs($Username, @LogonDomain, $Password, 0, @ComSpec & " /c " & @WindowsDir & "\system32\tscon.exe 1 /dest:console", "", @SW_HIDE)
    RunAs($Username, @LogonDomain, $Password, 0, @ComSpec & " /c " & @WindowsDir & "\system32\tscon.exe 2 /dest:console", "", @SW_HIDE)

    [/autoit]

    Einfach anstatt mit X zu schliessen diese DREI Befehle ausführen.
    Kannst ja eine EXE mit diesem Inhalt auf den Desktop legen.

    Diese Befehle loggen Dich aus und der bestehende Benutzer gleich wieder ein!
    Bei mir ist das seit Jahren im Einsatz und funktioniert einwandfrei!

    Edit: Ach ja: bei mir ist dieser Benutzer lokaler Admin... weiss jetzt gerade nicht auswendig, ob das was ausmacht!
    Einfach mal probieren!

    Gruss Veronesi

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™