Die RunDll(32)-Befehle werden ausführlich in WinFAQ von Frank Ullrich beschrieben, sie mal dort nach..
Die Index-Geschichte kann auch mit XP-AntiSpy abgeschaltet werden..
[Edit]
Hatte ich wirklich AX.. geschrieben :lol:
Mir ist noch gar nicht aufgefallen, daß das nur für alle Partitionen geht, da ich das sowieso nicht benutze ![]()
Link zu Registry Wizard/WinFaq findste hier..
Gruß
ytwinky
Beiträge von ytwinky
-
-
Hi,
da hatte sich im AppBar doch tatsächlich noch ein VBSkript versteckt!
Das mußte ich natürlich für XP umschreiben..
Wahrscheilich reicht an- und abmelden, um Änderungen ggfs. wirksam werden zu lassen.
Zu anderen Betriebssytemen fragen Sie bitte Microsoft oder Ihren Administrator..
(Regwiz/WinFAQ weiß das alles..)
Aus gegebenem Anlaß weise ich ausdrücklich darauf hin, daß dieses Skript in die
Registry schreibt! Wer also kein XP hat, muß die Adressen erst anpassen..
DIE REGISTRY IST KEIN SPIELZEUG!
So genug gewarnt, hier isses:Spoiler anzeigen
C
Alles anzeigen;<AutoItScript> Opt("MustDeclareVars", 1) ;0=ohne, 1=erfordert Variablen-Deklaration #NoTrayIcon ;Ohne Icon im Tray, hängende Prozesse im ProcessViewer beenden #include "constants.au3" ;+----------------------------------------------------------------------------+ ;| Header: Bestimmen der Übergabeparameter | ;| ( Alles Strings(!!!), bis auf ArgC ) | ;| FontAnzeigeCheck: |Il1 sind Alt-0124, Großes i, Kleines L, Eins | Const $Author="AutoRun.au3 ©2006 by ytwinky, MD"; | ;| EMail: PIII1kSystem-AutoIt3Forum@yahoo.de | ;| AutoIt3-Version: aktuelle beta | ;| Editor: SciTE aktuelle Version, feste Schriftart | ;| Zweck : Schablone für den Anfang, nach Bedarf anpassen | ;| Tab auf 2 setzen wg. Lesbarkeit | ;+----------------------------------------------------------------------------+ Const $RegKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\" Const $RegVal="AutoRun" Dim $Schalter[2]=["aus", "ein"] Global $Zustand, $Frage="" $Zustand=RegRead($RegKey, $RegVal) If @Error Then Switch @Error Case 1 $Frage="unable to open requested key" Case 2 $Frage="unable to open requested main key" Case 3 $Frage="unable to remote connect to the registry" Case -1 $Frage="unable to open requested value" Case -2 $Frage="value type not supported" Case Else $Frage="unknown error.." EndSwitch MsgBox(4096, "Script-Error", "Ooops, " &$Frage) Exit Else If $Zustand=1 Or $Zustand=0 Then $Frage=MsgBox(4099, "AutoRun ist " &$Schalter[$Zustand] &"geschaltet", "AutoRun " &$Schalter[1-($Zustand=1)*1] &"schalten?") If $Frage=$IDYes Then RegWrite($RegKey, $RegVal, "REG_DWORD", 1-($Zustand=1)*1) MsgBox(4098, "You changed the mouseposition :D", "..please restart your computer..") EndIf EndIf EndIf Exit ;</AutoItScript>Gruß
ytwinky -
Prima, das mit den ToolTipps ist eine gute Idee

(Edit]
Ooops, mit Programmfavoriten?
Muß ich mir gleich mal saugen
[Edit2]
Also, wenn ich anfange in einem Skript überflüssige Leerzeichen zu entfernen und fehlende einzufügen,
dann muß es mir schon sehr gut gefallen..
..und in diesem Skript gibts bei mir nur noch erwünschte Spaces!
(fyi:Es gefällt mir wirklich sehr gut!)
Ich war zwar etwas überrascht, weil nichts Neues da war..
..aber dann sah ich das Icon von meinem FTP-Client, astrein!
Ich denke, ich werde die beiden in Zukunft gemeinsam starten..
Gruß
ytwinky -
Klar, PumpGun :rofl2:
(ist aber, glaube ich, nicht legal :lol: )
Gruß
ytwinky -
Hi,
spontan sage ich erstmal:Is ja astrein, das Skript..
(Bei näherem Hinsehen, also wenn es läuft, finde ich das Ein/Aus-Icon mißverständlich)
Naja, läßt sich ja auswechseln
[ spoiler ] [ /spoiler] ist für Skripts eine tolle Gestaltungsmöglichkeit..
(ohne spaces versteht sich..)
Gruß
ytwinky -
peethebee :
Ich will ja nicht meckern, aber wenn du zwichen 8 und ) noch ein space machen könntest, steht da die korrekte Beta-Version ....128 )
(ich dachte schon, eine neue AutoIt-Version wäre draußen :rofl2: )
Gruß
ytwinky -
Hi moppel,
so, hier ist erstmal ein Notfall-Skript, mit dem AutoLogin abgeschaltet wird.
Das Ganze geht auch von Hand, die Adressen und Werte stehen im Skript.Spoiler anzeigen
Code;<AutoItScript> If Not IsAdmin() Then MsgBox(16+0x1000, "**U**", "Sorry, ohne AdminRechte geht hier gar nichts..") Exit 27 EndIf Const $RegKey="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\" RegWrite($RegKey, "AutoAdminLogon\", "REG_SZ", "0") ShutDown(0) ; so, jetzt noch abmelden --> zum neuen User.. Exit 0 ;</AutoItScript>[Edit]
Du kannst dem Skript aber auch Benutzername und Kennwort als Parameter übergeben..
..das sollte der Notnagel sein.
LoginUser Benutzername Benutzerkennwort
Gruß
ytwinky -
Eine Prüfung ist ein Vergleich und der setzt zwangsläufig eine Berechnung der
beteiligten Ausdrücke voraus..
Gruß
ytwinky -
Zitat
Original von bernd670
ytwinky,ich muss dir leider wiedersprechen auch bei der Switch-Anweisung muss bei jeder Case-Anweisung die Bedingung geprüft werden. Select hat sogar den Vorteil das ich mehrere Bedingungen in einer Case-Anweisung prüfen kann!

Bei Switch wird die Bedingung einmal berechnet und dann nur noch verglichen..
Diese Vergleiche sind nicht so rechenaufwändig.
Wir gehen von zwei unterschiedlichen Standpunkten an die Sache heran:
Ich will möglichst wenig prüfen und somit effektiver sein..
..du willst möglichst viel prüfen und somit effektiver sein
Es scheint eine Einstellungsfrage zu sein.
Anyway, this is a free language, program as you like it most..
Gruß
ytwinky -
Hi johny,
'Select Case' ist schon eine tolle Anweisung..
'Switch' ist besser:
Während bei deinem 'Select Case' bei jedem 'Case' eine Bedingung geprüft wird,
gibt es bei 'Switch'(siehe Hilfe) nur eine Prüfung am Anfang!
Ein 'Case' könnte dann auch so aussehen:CodeCase $brennen_qemu DoIt('E:\tools\system\QemuManager\QemuManager.exe', 'E:\tools\system\QemuManager')Die zugehörige Function wäre dann:
CodeFunc DoIt($What, $Where) If FileExists($What) Then Run($What, $Where) Else MsgBox(4096, "Ooops..", $What &" not found!") EndIf EndFuncDa ich die meisten der benötigten Programme sowieso nicht oder andere|bessere habe, die über
AppBar oder RunIt aufgerufen werden, brauche ich dieses Skript nicht wirklich..
(Google 'AppBar'[besser nicht die deutsche Version wählen] oder Google 'RunIt')
In Zusammenarbeit mit Quick Launch und SendTo habe ich auch mit dem freeCommander keine Probleme,
da er ja auch (Programm-)Favoriten unterstützt(AUCH für Ordner..)
Aber sei nicht traurig
, denn durch dieses Skript kann ich jetzt auch Menüs gestalten..
..was vorher nur durch Denken(aua, das kann weh tun..) und Suchen in der Hilfe möglich
gewesen wäre
Btw: Perfect_FTP ist nicht ressourcen-intensiv und ich habe eine Vollversion(Heft-CD)
Gruß
ytwinky -
Hi,
der freeCommander ist echt ein tolles Programm!
Ich habe Marek gefragt, ob er in die neue Version einen FTP-Client einbauen würde und er meinte vllt..
..naja, es geht ja auch mit Programmfavoriten, so kann ich wenigstens mein Lieblingsprogramm benutzen..
(Nein, es ist nicht das .au3-File
, es ist Perfect_FTP, wie der Name schon sagt..)
Dieses Skript hier werde ich aber prüfen, da der neue freeCommander schneller geworden ist und ich sowieso fast nur mit 2-Fenster-Programmen arbeite.
(TwoDirs, freeCommander etc.)
Gruß
ytwinky -
Hi Mack,
hilft dir das schon?
Route Print - Anwendung von _SysProg(..) & _IEPrt(..)
Gruß
ytwinky -
Hi,
wer sich nicht darauf verlassen möchte, daß Erweiterung+'.' 4 Zeichen lang sind,
kann natürlich folgendenCodeMsgBox(4096, "Wasn", @ScriptName &@CrLf &StringLeft(@ScriptName, StringInstr(@ScriptName, ".")-1))verwenden.
Dann funktionierts auch bei den Scripts, die, aus was für Gründen auch immer, auf
'.au' (z.B.) enden..
Gruß
ytwinky -
Hier ein ScreenShot(KEIN Fake!!)
Es ist ohne Probleme möglich, den angezeigten Wurf als 'Große Straße' abzuspeichern(In diesem Fall wäre es eher 'Steiniger Gebirgspfad')
Zu dem Array-Problem bastel ich gerade eine anschauliche Darstellung..
(Muttu noch was warten..)
..genuch gewartet..Code$fixDice1 = GUICtrlCreateMenuitem($language_A[61][1], $game) $fixDice2 = GUICtrlCreateMenuitem($language_A[62][1], $game) $fixDice3 = GUICtrlCreateMenuitem($language_A[63][1], $game) $fixDice4 = GUICtrlCreateMenuitem($language_A[64][1], $game) $fixDice5 = GUICtrlCreateMenuitem($language_A[65][1], $game)könnte so ausssehen:
Es ergeben sich dann natürlich mindestens folgende Änderungen:
CodeCase $msg[0] = $fixDice[1] Or $msg[0] = $dice1_B And $msg[1] = $GUI fixDice1() Case ($msg[0] = $fixDice[2] Or $msg[0] = $dice2_B) And $msg[1] = $GUI fixDice2() Case ($msg[0] = $fixDice[3] Or $msg[0] = $dice3_B) And $msg[1] = $GUI fixDice3() Case ($msg[0] = $fixDice[4] Or $msg[0] = $dice4_B) And $msg[1] = $GUI fixDice4() Case ($msg[0] = $fixDice[5] Or $msg[0] = $dice5_B) And $msg[1] = $GUI fixDice5()sowie
CodeDim $Label_A[49] = ['', $defaultstatus, $options, $restart, $undo, $highScore, $exit, $view, $hide, $language, _ $languageChoice, $help, $aboutGUI, $game_G, $dices_G, $numbers_G, $specials_G, _ $rolls_G, $totalPoints_G, $ones_L, $twos_L, $threes_L, $fours_L, $fives_L, $sixes_L, $bonus_L, $threeOK_L, _ $fourOK_L, $fullHouse_L, $shortRun_L, $longRun_L, $yahtzee_L, $chance_L, $roll_B, $rollsLeft_DL, _ $points_DL, $question, $bonusPoints_PL, $highScoreList, $save_B, $exit_B, $statuslabel, $game, $fixDice[6], $rollDice]
Interessant ist auch diese Überlegung:Code
Alles anzeigenFunc fixDice($which) If $diceArray_S[$which-1] <> 1 Then GUICtrlSetStyle($dice_B[$which], $BS_ICON, $WS_EX_STATICEDGE) GUICtrlSetState($dice_L[$which], $GUI_SHOW) $diceArray_S[$which-1] = 1 Else GUICtrlSetStyle($dice_B[$which], $BS_ICON + $WS_BORDER, "") GUICtrlSetState($dice_L[$which], $GUI_DISABLE + $GUI_HIDE) $diceArray_S[$which-1] = 0 EndIf EndFunc ;==>fixDiceWürde eine Menge an Code sparen, inwieweit sich das durchführen läßt, hängt davon ab, wie
weit ich mich in DEIN Spiel reinknie..
Es ist nun mal so, wie Murphy sagt:"Ein Programm ist nie fertig"
(Beweis: s. m$ :rofl2: )
So, und jetz isses wieder ganz dein Programm
Btw:
Ich rede nur von dem Skript, das du hier gepostest hast. In diesem habe ich auch schon einige
der genannten Änderungen vorgenommen, kann natürlich sein, daß in der Exe-Datei der Fehler
nicht auftritt(isser nämlich eben beim Probieren natürlich nicht..)
Das ist eben die Gefahr, wenn fremde Skripts einfach geändert werden:
Man tut des Guten manchmal zuviel: überoptimiert :rofl2:
Gruß
ytwinky -
Hi th.meger,
Meine Lieblingsliste süchtig machender Spiele:
-Freecell
-Yahtzee(Mega)[obwohl noch nicht ganz fehlerfrei]
-Same
-Columns
-Moorhuhn
Nachdem ich 'nur' noch Alien 12 und Alien 11 rausspielen muß, bin ich ziemlich sicher,
daß die Straßenerkennung einen Fehler hat
(Achso, mein max. ist 322)
-Die Highscore-Liste würde ich sortiert in einem Array speichern..
(dann ist es leichter, zu erkennen, ob der Spieler sich überhaupt eintragen muß/kann, so kann dann auch die nicht nötige Meldung verhindert werden)
Sortieralgorithmen hat AutoIt eingebaut, QSort und BubbleSort habe ich hier gepostet(irgendwo)
Das ist nur meine Meinung als Spieler, der Programmierer bist Du!
Gruß
ytwinky -
1152x864 32Bit 17"-Belinea Monitor ATi-Radeon 32MB
-
Ich habe mich wirklich gefragt, was passiert, wenn ein neues XP-AntiSpy herauskommt..
Jetzt weiß ich es:
1. Version 3.96 ist draußen
2. Das AutoIt-Skript funktioniert nach wie vor problemlos(*aufdenputzhauundganzstolzsei*)
[Edit]
Auch mit der neuen Version 3.96-1 funktioniert das Skript nach wie vor..
(nicht nur, weil es funktioniert, sondern als Hinweis, daß es eine neue Version gibt..)
[Edit2 *WICHTIG*]
xp-antispy 3.96-1 ist buggy
http://www.pcwelt.de/news/sicherheit/44530/index.html
Sauge gerade..
..ausgesaugt..
..und läuft, obwohl ich einen Fehler gar nicht bemerkt habe
Gruß
ytwinky -
Das ist mir auch schon aufgefallen, daß das Eintragen der Spielstände 'sehr lange' dauert..
Ich habe die Sleep-Anweisungen schon auf 100 runtergesetzt, aber daran liegt es erwartungsgemäß nicht..
Die Suche nach der Ursache gestaltet sich dabei etwas schwierig, weil ich nebenbei noch ein paar unerwünschte Einträge
aus der Highscore-Liste entfernen muß(durch Spielen versteht sich).
Daß ich bei mir Restart/Neustart bereits durch New Game/Neues Spiel ersetzt habe, dürfte klar sein :rofl2:
Ich muß mal schauen(nein, jetzt nich spielen, ich muß noch ein wenig Beute sichten..)
[Edit]
Und denn fiel mir noch auf:
1 1 4 5 6 (im 3.Wurf)
bescherte mir die Möglichkeit, diesen Wurf als 'Kleine Straße' zu bewerten..
(nun gut, mir gefiel das!)
Es ist nun schon eine Weile her, daß ich die Regeln von Kniffel/Yahtzee gelernt habe(in meinen Augen ist das eher ein 'mittlerer Feldweg' :lol: )
Ist das ein Feature, um Spieler mit rotgeränderten Augen und zerwurstelter Frisur bei Laune zu halten oder diese andere Möglichkeit(ich komm grad nicht auf den Namen
)
Bis denn denn
ytwinky -
Hi th.meger,
Nehmen wir nur mal diese Func:Spoiler anzeigen
Code
Alles anzeigenFunc showDice($controlID, $diceNr) Select Case $diceNr = 1 GUICtrlSetImage($controlID, $config_A[3][1], -1, 1) Case $diceNr = 2 GUICtrlSetImage($controlID, $config_A[4][1], -1, 1) Case $diceNr = 3 GUICtrlSetImage($controlID, $config_A[5][1], -1, 1) Case $diceNr = 4 GUICtrlSetImage($controlID, $config_A[6][1], -1, 1) Case $diceNr = 5 GUICtrlSetImage($controlID, $config_A[7][1], -1, 1) Case $diceNr = 6 GUICtrlSetImage($controlID, $config_A[8][1], -1, 1) EndSelect EndFunc ;==>showDice
In jeder Case Anweisung wird geprüft, ob eine Bedingung erfüllt ist..
Das Ganze in anderer Form:Spoiler anzeigen
Code
Alles anzeigenFunc showDice($controlID, $diceNr) Switch $diceNr Case 1 GUICtrlSetImage($controlID, $config_A[3][1], -1, 1) Case 2 GUICtrlSetImage($controlID, $config_A[4][1], -1, 1) Case 3 GUICtrlSetImage($controlID, $config_A[5][1], -1, 1) Case 4 GUICtrlSetImage($controlID, $config_A[6][1], -1, 1) Case 5 GUICtrlSetImage($controlID, $config_A[7][1], -1, 1) Case 6 GUICtrlSetImage($controlID, $config_A[8][1], -1, 1) EndSwitch EndFunc ;==>showDiceJetzt wird nur noch einmal geprüft..
(Das Argument 'Moderne Computer sind ja sooo schnell' zieht hier nicht, denn es geht ums Prinzip.)
Sei jetzt bitte nicht beleidigt, das geht nicht gegen dich..
..ich sehe oft, daß Select mit Case etc. verwendet wird, wo Switch genauso funktioniert,
Schreibarbeit spart(mancher benutzt ja nicht Copy&Paste) und auch noch CPU-Zeit spart.
Gruß
ytwinky -
1. 'Undo' halte ich auch eher für das Ende des Verdauungsvorgangs

2. Viele NotBücher werden mit 56K-Modem ausgeliefert, Technik aus dem letzten Jahr1k?
3. Zu Tipps muß ich erstma nachdenken, denn bis jetzt habe ich nur gedaddelt..
btw:
'Neustart' würde ich auf alle Fälle umbenennen in 'Neues Spiel'..
Gruß
ytwinky