Momentan mache ich zwanghaft (lerne für's Abitur) noch Prolog, ansonsten:
C++,Java,PHP,Javascript,VBS,Delphi,VB,Bash,Python
Momentan mache ich zwanghaft (lerne für's Abitur) noch Prolog, ansonsten:
C++,Java,PHP,Javascript,VBS,Delphi,VB,Bash,Python
GUICtrlDelete und _IEQuit
Gab es nicht mal eine HotStrings-UDF?
Daher kommt übrigens der Name "Spam" als Bezeichnung für Email-Junk:Spam Song
Bei mir ist meistens nur die Grammatik lustig:
ZitatHerzlichen Glückwunsch nochmals von allen unseren Mitarbeiter und danke
das Sie vertrauen an dieses E-Mail Lotterie Promotion Programm haben
Schöne Geschichte ![]()
Grade gesehen: Das ganze gibt's schon, als Vista/7-Gadget: http://vista.gallery.microsoft.com/liveItemDetail.aspx?li=67b6edc9-0ec0-444c-bce7-38ae5bb17d09&bt=1&pl=1
Spätestens wenn das Skript läuft ist es im Arbeitsspeicher und dekompilierbar.
Du kannst es nur Obfuscaten, was das Skript nachd em Dekompilen schwerer lesbar macht.
Vollständiger Schutz ist - besonders bei einer Skriptsprache wie AutoIt - nie möglich.
Man sollte deshalb niemals sensible Daten im Code haben, wie FTP-Zugänge o.ä.
Neue Version, mit alternativer Darstellung ("Ossi-mode")
siehe Post #1
keine Ahnung, ich komme halt aus BW und wohne seit 1996 in Thüringen, ich kenn das also nur als Ossisch ![]()
Nein, hab ich noch nie geguckt. ![]()
Ich präsentiere: GeekTime.
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
Global $switch=0,$ossi=0
GUICreate("GeekTime",400,60,0,0,$WS_POPUP,$WS_EX_TOPMOST)
GUISetBkColor(0xffffff)
$mainlabel=GUICtrlCreateLabel("fünf nach halb sieben",10,10,380,50)
GUICtrlSetFont(-1,25,800)
GUICtrlSetColor(-1,0x000000)
$close=GUICtrlCreateButton("x",380,0,20,20)
$anders=GUICtrlCreateButton("/",380,20,20,20)
AdlibRegister("_Aktualisieren",30000)
While Sleep(50)
$mgp=MouseGetPos()
If $mgp[0]=0 And $mgp[1]=0 Then
Do
Sleep(50)
$mgp=MouseGetPos()
Until $mgp[0] <> 0 Or $mgp[1] <> 0
$switch=1-$switch
Switch $switch
Case 1
_show()
Case 0
_hide()
EndSwitch
EndIf
If $switch Then
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE,$close
_hide()
Exit
Case $anders
$ossi = 1- $ossi
_show()
EndSwitch
EndIf
WEnd
Func _getGeekTime()
$hour=Mod(@HOUR,12)
$min=@MIN-Mod(@MIN,5)
Switch $ossi
Case 0
If $min >= 25 Then $hour += 1
$hour=Mod($hour,12)
Switch $min
Case 0
$r="(Um)"
Case 5
$r="Fünf nach"
Case 10
$r="Zehn nach"
Case 15
$r="Viertel nach"
Case 20
$r="Zwanzig nach"
Case 25
$r="Fünf vor halb"
Case 30
$r="Halb"
Case 35
$r="Fünf nach halb"
Case 40
$r="Zwanzig vor"
Case 45
$r="Viertel vor"
Case 50
$r="Zehn vor"
Case 55
$r="Fünf vor"
EndSwitch
Case 1
If $min >= 5 Then $hour += 1
$hour=Mod($hour,12)
Switch $min
Case 0,5
$r="(Um)"
Case 10
$r="Gleich viertel"
Case 15,20
$r="Viertel"
Case 25
$r="Gleich halb"
Case 30
$r="Halb"
Case 35
$r="Kurz nach halb"
Case 40
$r="Kurz vor dreiviertel"
Case 45
$r="Dreiviertel"
Case 50
$r="Kurz nach dreiviertel"
Case 55
$r="Kurz vor"
EndSwitch
EndSwitch
$r &=" "
Switch $hour
Case 0
$r &= "zwölf"
Case 1
$r &= "eins"
Case 2
$r &= "zwei"
Case 3
$r &= "drei"
Case 4
$r &= "vier"
Case 5
$r &= "fünf"
Case 6
$r &= "sechs"
Case 7
$r &= "sieben"
Case 8
$r &= "acht"
Case 9
$r &= "neun"
Case 10
$r &= "zehn"
Case 11
$r &= "elf"
EndSwitch
Return $r
EndFunc
Func _hide()
For $i=100 To 1 Step -5
Sleep(5)
WinMove("GeekTime","",0,-60+($i/100)*60)
WinSetTrans("GeekTime","",$i/100*255)
Next
GUISetState(@SW_HIDE)
EndFunc
Func _show()
_aktualisieren()
WinMove("GeekTime","",400,-60)
GUISetState(@SW_SHOW)
WinSetTrans("GeekTime","",0)
For $i=1 To 100 Step 5
Sleep(5)
WinMove("GeekTime","",0,-60+($i/100)*60)
WinSetTrans("GeekTime","",$i/100*255)
Next
EndFunc
Func _aktualisieren()
GUICtrlSetData($mainlabel,_getGeekTime())
EndFunc
Jeder Geek kennt das, er wird nach der Uhrzeit gefragt und antwortet (wahrheitsgemäß) mit "23:43". Da das normale Menschen nicht so mögen, kommt hier die Lösung: GeekTime läuft permanent im Hintergrund. Beim Bewegen der Maus in die obere linke Ecke wird ein kleines Fenster eingeblendet, welches im obigen Beispiel ausgibt "Zwanzig vor zwölf".
Todo:
zu beachten ist außerdem: deiner Beschreibung nach registriert sich das Programm gelegentlich als Dateierweiterungsöffner. Deshalb mein Ansatz:
AutoItSkript wird gestartet, startet das gewünschte Programm mit RunWait, danach prüft es, ob es noch eingetragen ist, sonst trägt es sich ein.
Du kannst auch Winclose machen, ne Sekunde warten, und dann mit WinExists gucken, ob das Fenster noch offen ist (z.B. "Sie haben ungespeicherte Änderungen. Speichern?"). Wenn ja, dann beenden.
So, Jurax, du hast auch ne PM von mir, habe meine Einsendung auch abgegeben ![]()
Mache auch mit, hab da so ne Idee (30-Zeilen-Skript oder so) ![]()
Ansatz: jeder neue Prozess wird erstmal angehalten: _ProcessSuspend
dann wird die Datei gehasht (_ProcessGetFile oder so und dann MD5-en)
Wenn in Sperrliste, dann ProcessClose, sonst _ProcessResume
Willkommen im Forum ![]()
name22: wenn sie so jung sind, botten sie meistens noch nicht.
Ich weiß garnicht mehr, wann ich angefangen hab, zu programmieren, muss aber in der 6. Klasse gewesen sein...