Seite 1 von 2
Bildschirmschoner ?
Verfasst: 24.06.2009 00:12
von The_Dark_Zim-.-
Hey ich hab mir einen Bildschirmschoner gemacht ^^
Also eigentlich eine ganz normale *.exe
So ich hab es auf *.scr umbenannt, damit es Windows als Bildschirmschoner anerkennt ^^. Wenn ich nun Rechtsklick "install" mache funkt es auch schön und gut, aber ich komme nicht mehr in den Menüpunkt "Bildschirmschoner"

Wie kann man das verhindern ?
Gruß Zim
Verfasst: 24.06.2009 08:06
von ZeHa
Es gibt zwei Parameter fuer Bildschirmschoner, ich glaube -s fuer Start und -o fuer Optionen. Vielleicht auch mit Schraegstrich statt Minus, weiss ich nicht mehr genau.
Diese dann einfach per ProgramParameter() auslesen, dann kannst Du entsprechend drauf reagieren. Ich weiss nur nicht, ob das jetzt genau das ist, was Du brauchst (habe die Frage mit dem Menuepunkt "Bildschirmschoner" nicht ganz verstanden).
Verfasst: 24.06.2009 11:51
von Kaeru Gaman
öhm.. ja. ich auch nicht.
> aber ich komme nicht mehr in den Menüpunkt "Bildschirmschoner"
in welchem menu von was denn?
Verfasst: 24.06.2009 13:56
von jojo1541
ich lese draus, dass du den Reiter "Bildschirmschoner" im Anzeige-Menü nicht mehr öffnen kannst.
Allerdings kann ich mir nicht vorstellen, dass dein Bildschirmschoner diesen Reiter blockiert. (Außer du hast evtl. eine endlosschleife eingebaut und die setzt ein, wenn du auf den Button Optionen drückst. Dann schau mal zwei posts weiter nach oben.)
Verfasst: 24.06.2009 16:42
von KeyKon
Nach Screensaver zu suchen hätte dir bestimmt schneller geholfen
http://www.purebasic.fr/german/viewtopi ... highlight=
Verfasst: 24.06.2009 20:32
von The_Dark_Zim-.-
Ich meine hier den Menüpunkt "Bildschirmschoner" (die rote Makierung könnt ihr ignorieren

)
Ich versuch mich mal durch den Kram von hier :
http://www.purearea.net/pb/CodeArchiv/O ... enSaver.pb, durch zu wühlen wenn ich dann noch fragen hab stell ich sie natürlich :P
Verfasst: 24.06.2009 20:38
von Kaeru Gaman
ja ok, dann hatte volti recht.
das nennt man einen "Tab", "Panel" oder "Reiter", nicht "Menüpunkt".
möglich, dass dieser Tab die .scr mit /o aufrufen muss, und wenn du das nicht verarbeitest, streikt es?
hab ich aber noch nie ausprobiert...
Verfasst: 24.06.2009 20:41
von The_Dark_Zim-.-
Ich hab mir das nu mal angesehen und bin zu der Erkenntnis gekommen das ich das nicht verstehe
Ich bitte euch also um ein wenig hilfe ^^
Hier mein Code :
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"Pilz")
CatchSprite(0, ?Pic1)
CatchSprite(1, ?Pic2)
DataSection
Pic1: IncludeBinary "Pilz1.bmp"
Pic2: IncludeBinary "Pilz2.bmp"
EndDataSection
TransparentSpriteColor(0,RGB(255, 0, 220))
TransparentSpriteColor(1,RGB(255, 0, 220))
Repeat
SetFrameRate(1)
If w = 2
w = 0
EndIf
ClearScreen($4C4C4C)
If w = 0
ClearScreen($4CFF4C)
;DisplayTransparentSprite(0,0,0)
ElseIf w = 1
ClearScreen($4C4CFF)
;DisplayTransparentSprite(1,0,0)
EndIf
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,752,"To exit press 'ESC'!")
StopDrawing()
ExamineKeyboard()
FlipBuffers()
w + 1
Delay(1)
Until KeyboardPushed (1)
Gruß ZIM
Verfasst: 24.06.2009 20:46
von jojo1541
Kaeru Gaman hat geschrieben:
möglich, dass dieser Tab die .scr mit /o aufrufen muss, und wenn du das nicht verarbeitest, streikt es?
hab ich aber noch nie ausprobiert...
Nein, das hab ich schonmal probiert, als ich mal einen Bildschirmschoner geschrieben habe. Es geht lediglich der Bildschirmschoner an, wenn man auf den OPtionen-Button im Bildschirmschoner-Reiter drückt.
@The_dark_Zim-.-
Für dich ist lediglich dieser Teil
Code: Alles auswählen
; Bildschirmschoner werden unter Wndows wie weiter oben beschrieben mit Parametern gestartet.
Param$ = RemoveString(Param$, Left(Param$,1),1) ;alten Parameter entfernen
Param$ = Left(Param$,1) ;neuen Parameter holen
Select Param$
Case "" ;wenn kein Parameter
ConfigSaver()
Case "C" ;wenn Parameter gleich c ist( bedeutet, dass der Bildschirmschoner konfiguriert werden soll.(rechte Maustaste auf die Datei, konfigurieren))
;Einstellungen
ConfigSaver()
Case "P" ;Vorschau Taste im Anzeige-Menü
;Vorschau
Preview = 1
SParent = Val(Param1$)
Preview(SParent)
Case "A" ; Passwort setzen im Anzeige-Menü
;Passwort
SetPassword()
Case "S" ;S(art) Parameter, startet den Bildschirmschoner
;Hauptprogramm
Preview = 0
Main()
EndSelect
Interessant, weil er die Parameter beinhaltet.
Ich habe ihn etwas auskommentiert.
Verfasst: 24.06.2009 21:21
von The_Dark_Zim-.-
Hm irgentwie krieg ich das nicht hin
Code: Alles auswählen
InitSprite()
InitKeyboard()
DataSection
Pic1: IncludeBinary "Pilz1.bmp"
Pic2: IncludeBinary "Pilz2.bmp"
EndDataSection
Global quit
Repeat
; Bildschirmschoner werden unter Wndows wie weiter oben beschrieben mit Parametern gestartet.
Param$ = RemoveString(Param$, Left(Param$,1),1) ;alten Parameter entfernen
Param$ = Left(Param$,1) ;neuen Parameter holen
Select Param$
Case "" ;wenn kein Parameter
OpenScreen(1024,768,32,"Pilz")
CatchSprite(0, ?Pic1)
CatchSprite(1, ?Pic2)
TransparentSpriteColor(0,RGB(255, 0, 220))
TransparentSpriteColor(1,RGB(255, 0, 220))
Repeat
SetFrameRate(1)
If w = 2
w = 0
EndIf
ClearScreen($4C4C4C)
If w = 0
ClearScreen($4CFF4C)
;DisplayTransparentSprite(0,0,0)
ElseIf w = 1
ClearScreen($4C4CFF)
;DisplayTransparentSprite(1,0,0)
EndIf
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,752,"To exit press 'ESC'!")
StopDrawing()
ExamineKeyboard()
FlipBuffers()
w + 1
Delay(1)
If KeyboardPushed(1)
quit = 1
EndIf
Until quit = 1
Case "C" ;wenn Parameter gleich c ist( bedeutet, dass der Bildschirmschoner konfiguriert werden soll.(rechte Maustaste auf die Datei, konfigurieren))
;Einstellungen
Case "P" ;Vorschau Taste im Anzeige-Menü
;Vorschau
Case "A" ; Passwort setzen im Anzeige-Menü
;Passwort
Case "S" ;S(art) Parameter, startet den Bildschirmschoner
;Hauptprogramm
OpenScreen(1024,768,32,"Pilz")
CatchSprite(0, ?Pic1)
CatchSprite(1, ?Pic2)
TransparentSpriteColor(0,RGB(255, 0, 220))
TransparentSpriteColor(1,RGB(255, 0, 220))
Repeat
SetFrameRate(1)
If w = 2
w = 0
EndIf
ClearScreen($4C4C4C)
If w = 0
ClearScreen($4CFF4C)
;DisplayTransparentSprite(0,0,0)
ElseIf w = 1
ClearScreen($4C4CFF)
;DisplayTransparentSprite(1,0,0)
EndIf
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,752,"To exit press 'ESC'!")
StopDrawing()
ExamineKeyboard()
FlipBuffers()
w + 1
Delay(1)
If KeyboardPushed(1)
quit = 1
EndIf
Until quit = 1
EndSelect
Delay(1)
Until quit = 1
Wie soll das gemacht werden wenn nicht so ??
Gruß und schonmal danke an jeden der versucht zu helfen