Kein Ton
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Kein Ton
Ich habe ein Programm geschrieben das die ganze Zeit, bis man auf ein SysTrayIcon klickt verborgen, gar nichts macht, es benutzt unter anderem die Sound Lib.
Es lief alles wunderbar.
Doch jetzt hab ich es zur EXE gemacht und sobald dieses Programm läuft (also auch wenn es verborgen läuft) geht der Ton von allen anderen Programmen die laufen nicht mehr!
Liegt das am Programm, oder ist das unvermeidlich???
KeyKon
Es lief alles wunderbar.
Doch jetzt hab ich es zur EXE gemacht und sobald dieses Programm läuft (also auch wenn es verborgen läuft) geht der Ton von allen anderen Programmen die laufen nicht mehr!
Liegt das am Programm, oder ist das unvermeidlich???
KeyKon
Re: Kein Ton
> Doch jetzt hab ich es zur EXE gemacht
als was lief es denn vorher?
Grüße ... Kiffi
als was lief es denn vorher?
Grüße ... Kiffi
> als Code (mit PB gestartet)
hast Du schon mal in den Taskamanger geschaut, wenn der 'Code' gestartet
worden ist? Dort findest Du eine EXE mit dem Präfix PureBasic gefolgt von
einer eindeutigen ID. Das ist Dein Code, der zu einer temporären EXE
kompiliert worden ist.
Es kann also nicht daran liegen, daß Du Dein Programm zu einer EXE
'gemacht' hast, weil PB das sowieso bei jedem Programmstart für Dich
erledigt.
Grüße ... Kiffi
hast Du schon mal in den Taskamanger geschaut, wenn der 'Code' gestartet
worden ist? Dort findest Du eine EXE mit dem Präfix PureBasic gefolgt von
einer eindeutigen ID. Das ist Dein Code, der zu einer temporären EXE
kompiliert worden ist.
Es kann also nicht daran liegen, daß Du Dein Programm zu einer EXE
'gemacht' hast, weil PB das sowieso bei jedem Programmstart für Dich
erledigt.
Grüße ... Kiffi
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Ich befürchte nur das der Code selbst gekürzt sehr unübersichtlich ist
Naja hier einmal gekürzt:
Naja hier einmal gekürzt:
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
InitSound()
NewList Prog.s()
AddElement(Prog())
Prog() = "D:\PureBasic\PureBasic Demo\PureBasic.exe"
Procedure runprogramm(nummer)
If nummer <> -1
SelectElement(Prog(),nummer)
RunProgram(Prog())
EndIf
hit = 0
Goto back
EndProcedure
OpenScreen(640,480,16,"")
Procedure stexten(text$,x1,x2,y1)
Locate(x1+((x2-x1)-TextLength(text$))/2,y1)
DrawText(text$)
EndProcedure
Global sfx$
Global gfx$
Global hit.l
sfx$ = "C:\Eigene Dateien\Eigene Musik\"
gfx$ = "C:\Eigene Dateien\Eigene Bilder\"
Procedure Load()
For x = 0 To 1
LoadSound(x,sfx$+"Sound"+Str(x+1)+".wav")
Next
LoadSprite(0,gfx$+"Back640-480.bmp",0)
LoadSprite(1,gfx$+"Mouse.bmp",0)
For x = 1 To 11
LoadSprite(1+x,gfx$+"Icon"+Str(x)+".bmp",0)
Next
;LoadMovie(0,"")
For x = 1 To 1
TransparentSpriteColor(x,255,0,255)
Next
EndProcedure
Structure frage
frage.s
sound.l
spezi.s
EndStructure
NewList frage.frage()
AddElement(frage())
frage()\frage = "Wilkommen! Melden sie sich bitte an:"
frage()\sound = 0
frage()\spezi = "abf"
AddElement(frage())
frage()\frage = "Wilkommen Master KeyKon! Was wollen sie heute tun?"
frage()\sound = 1
frage()\spezi = "aus"
NewList names1.s()
AddElement(names1())
names1() = "PureBasic"
AddElement(names1())
names1() = "Andere Software"
AddElement(names1())
names1() = "Spiele"
AddElement(names1())
names1() = "Kalender"
AddElement(names1())
names1() = "Gehen"
Ele = 0
Lel = 1
Repeat
If Ele <> Lel
SelectElement(frage(),Ele)
If frage()\sound <> -1
PlaySound(frage()\sound)
EndIf
Lel = Ele
EndIf
ExamineMouse()
ExamineKeyboard()
DisplaySprite(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(255,255,0)
Box(0,0,640,50)
Box(590,450,50,30)
DrawingMode(1)
FrontColor(250,10,10)
Locate(5,5)
DrawText(frage()\frage)
stexten("Back",590,640,455)
If frage()\spezi = "abf"
If abf = 0
input$ + KeyboardInkey()
If KeyboardReleased(#PB_Key_Back)
input$ = Left(input$, Len(input$)-1)
EndIf
Locate(5,30)
DrawText(input$)
ElseIf abf = 1
code$ + KeyboardInkey()
If KeyboardReleased(#PB_Key_Back)
code$ = Left(code$, Len(code$)-1)
EndIf
stern$ = ""
For x = 0 To Len(code$)-1
stern$+"x"
Next
Locate(5,30)
DrawText(stern$)
ElseIf abf = 2
If UCase(input$) = "KEYKON" And UCase(code$) = "12311"
Ele = 1
abf = 0
ElseIf code$ = ""
Goto Back
Else
Lel = 12345
Ele = 0
abf = 0
code$ = ""
input$ = ""
EndIf
EndIf
If KeyboardPushed(#PB_Key_Return)
abf+1
Delay(1000)
EndIf
If back = 1
back = 0
StopDrawing()
runprogramm(-1)
EndIf
EndIf
StopDrawing()
If frage()\spezi = "aus"
For x = 0 To 4
StartDrawing(ScreenOutput())
FrontColor(10,100,250)
If x < 4
Box(30,70+x*100,200,80)
Else
Box(30+230,70+x*100-400,200,80)
EndIf
DrawingMode(1)
FrontColor(200,200,30)
If x < 4
Locate(30+8+64+8,70+x*100+30)
Else
Locate(30+8+64+8+230,70+x*100+30-400)
EndIf
SelectElement(names1(),x)
DrawText(names1())
StopDrawing()
If x < 4
DisplaySprite(x+2,38,70+x*100+8)
Else
DisplaySprite(x+2,38+230,70+x*100+8-400)
EndIf
Next
If back = 1
Ele = 0
EndIf
Select hit
Case 1
RunProgramm(0)
Case 2
Ele = 2
Case 3
Ele = 3
Case 4
Case 5
Goto back
EndSelect
EndIf
back = 0
hit = 0
If MouseButton(1) = 1 And klick = 0
klick = 1
For x = 0 To 7
If x < 4
If MouseX() > 30 And MouseY() > 70+x*100 And MouseX() < 30+200 And MouseY() < 70+x*100+80
Hit = x+1
EndIf
Else
If MouseX() > 30+230 And MouseY() > 70+x*100-400 And MouseX() < 30+230+200 And MouseY() < 70+80+x*100-400
Hit = x+1
EndIf
EndIf
Next
If MouseX() > 590 And MouseX() < 640 And MouseY() > 450 And MouseY() < 480
Back = 1
EndIf
ElseIf MouseButton(1) = 0 And klick = 1
klick = 0
EndIf
DisplayTransparentSprite(1,MouseX(),MouseY())
FlipBuffers()
Until Ende = 1
back:
hit = 0
CloseScreen()
OpenWindow(0,0,0,20,10,#PB_Window_SystemMenu,"Test1")
AddSysTrayIcon(0,WindowID(),LoadImage(0,"C:\eigene Dateien\Icon.ico"))
SysTrayIconToolTip(0,"Angemeldet")
HideWindow(0,1)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_SysTray
If EventType() = #PB_EventType_LeftClick
RemoveSysTrayIcon(0)
CloseWindow(0)
code$ = ""
hit = 0
OpenScreen(640,480,16,"")
Load()
Goto start
EndIf
EndIf
Until Event = #PB_Event_CloseWindow- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Ich hoffe das ist besser:
Code: Alles auswählen
; Inits
InitSprite()
InitMouse()
InitKeyboard()
InitSound()
; Variablen (Normalerweise viel mehr)
NewList Prog.s()
;Start-Links:
AddElement(Prog())
Prog() = "D:\PureBasic\PureBasic\PureBasic.exe"
;MenüModie:
Structure frage
frage.s
sound.l
spezi.s
EndStructure
NewList frage.frage()
AddElement(frage())
frage()\frage = "Wilkommen! Melden sie sich bitte an:"
frage()\sound = 0
frage()\spezi = "abf"
AddElement(frage())
frage()\frage = "Wilkommen Master KeyKon! Was wollen sie heute tun?"
frage()\sound = 1
frage()\spezi = "aus"
;Namen des Hauptmenüs
NewList names1.s()
AddElement(names1())
names1() = "PureBasic"
AddElement(names1())
names1() = "Andere Software"
AddElement(names1())
names1() = "Spiele"
AddElement(names1())
names1() = "Kalender"
AddElement(names1())
names1() = "Gehen"
Ele = 0
Lel = 1
Global sfx$
Global gfx$
Global hit.l
sfx$ = "C:\Eigene Dateien\Eigene Musik\"
gfx$ = "C:\Eigene Dateien\Eigene Bilder\"
OpenScreen(640,480,16,"")
; Proceduren
Procedure runprogramm(nummer)
If nummer <> -1
SelectElement(Prog(),nummer)
RunProgram(Prog())
EndIf
hit = 0
Goto back
EndProcedure
Procedure stexten(text$,x1,x2,y1)
Locate(x1+((x2-x1)-TextLength(text$))/2,y1)
DrawText(text$)
EndProcedure
Procedure Load()
;hier wird der Ton geladen:
For x = 0 To 1
LoadSound(x,sfx$+"Sound"+Str(x+1)+".wav")
Next
;
LoadSprite(0,gfx$+"Back640-480.bmp",0)
LoadSprite(1,gfx$+"Mouse.bmp",0)
For x = 1 To 11
LoadSprite(1+x,gfx$+"Icon"+Str(x)+".bmp",0)
Next
For x = 1 To 1
TransparentSpriteColor(x,255,0,255)
Next
EndProcedure
; RestartLabel und Load
start:
Load()
; HauptSchleife
Repeat
If Ele <> Lel
SelectElement(frage(),Ele)
If frage()\sound <> -1
;Und hier im Fall der Fälle abgespielt:
PlaySound(frage()\sound)
;
EndIf
Lel = Ele
EndIf
; Abfragen
ExamineMouse()
ExamineKeyboard()
;Hintergrund:
DisplaySprite(0,0,0)
;2D Drawing
StartDrawing(ScreenOutput())
FrontColor(255,255,0)
Box(0,0,640,50)
Box(590,450,50,30)
DrawingMode(1)
FrontColor(250,10,10)
Locate(5,5)
DrawText(frage()\frage)
stexten("Back",590,640,455)
;Die Verschiedenen Modie:
If frage()\spezi = "abf"
If abf = 0
input$ + KeyboardInkey()
If KeyboardReleased(#PB_Key_Back)
input$ = Left(input$, Len(input$)-1)
EndIf
Locate(5,30)
DrawText(input$)
ElseIf abf = 1
code$ + KeyboardInkey()
If KeyboardReleased(#PB_Key_Back)
code$ = Left(code$, Len(code$)-1)
EndIf
stern$ = ""
For x = 0 To Len(code$)-1
stern$+"x"
Next
Locate(5,30)
DrawText(stern$)
ElseIf abf = 2
If UCase(input$) = "KEYKON" And UCase(code$) = "12311"
Ele = 1
abf = 0
ElseIf code$ = ""
Goto Back
Else
Lel = 12345
Ele = 0
abf = 0
code$ = ""
input$ = ""
EndIf
EndIf
If KeyboardPushed(#PB_Key_Return)
abf+1
Delay(1000)
EndIf
If back = 1
back = 0
StopDrawing()
runprogramm(-1)
EndIf
EndIf
StopDrawing()
;Anderer Modus
If frage()\spezi = "aus"
For x = 0 To 4
StartDrawing(ScreenOutput())
FrontColor(10,100,250)
If x < 4
Box(30,70+x*100,200,80)
Else
Box(30+230,70+x*100-400,200,80)
EndIf
DrawingMode(1)
FrontColor(200,200,30)
If x < 4
Locate(30+8+64+8,70+x*100+30)
Else
Locate(30+8+64+8+230,70+x*100+30-400)
EndIf
SelectElement(names1(),x)
DrawText(names1())
StopDrawing()
If x < 4
DisplaySprite(x+2,38,70+x*100+8)
Else
DisplaySprite(x+2,38+230,70+x*100+8-400)
EndIf
Next
If back = 1
Ele = 0
EndIf
Select hit
Case 1
RunProgramm(0)
Case 2
Ele = 2
Case 3
Ele = 3
Case 4
Case 5
Goto back
EndSelect
EndIf
back = 0
hit = 0
;Universal Mausabfrage:
If MouseButton(1) = 1 And klick = 0
klick = 1
For x = 0 To 7
If x < 4
If MouseX() > 30 And MouseY() > 70+x*100 And MouseX() < 30+200 And MouseY() < 70+x*100+80
Hit = x+1
EndIf
Else
If MouseX() > 30+230 And MouseY() > 70+x*100-400 And MouseX() < 30+230+200 And MouseY() < 70+80+x*100-400
Hit = x+1
EndIf
EndIf
Next
If MouseX() > 590 And MouseX() < 640 And MouseY() > 450 And MouseY() < 480
Back = 1
EndIf
ElseIf MouseButton(1) = 0 And klick = 1
klick = 0
EndIf
;Maus zeichnen:
DisplayTransparentSprite(1,MouseX(),MouseY())
FlipBuffers()
Until Ende = 1
;Loop-Ende und "Schlaf Modus:
back:
hit = 0
CloseScreen()
;Verstecktes Fenster:
OpenWindow(0,0,0,20,10,#PB_Window_SystemMenu,"Test1")
AddSysTrayIcon(0,WindowID(),LoadImage(0,"C:\eigene Dateien\Icon.ico"))
SysTrayIconToolTip(0,"Angemeldet")
HideWindow(0,1)
;Schlaf-Schleife:
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_SysTray
If EventType() = #PB_EventType_LeftClick
RemoveSysTrayIcon(0)
CloseWindow(0)
code$ = ""
hit = 0
OpenScreen(640,480,16,"")
Goto start
EndIf
EndIf
Until Event = #PB_Event_CloseWindowRe: Kein Ton
Hört man denn von Deinem Programm noch etwas?KeyKon hat geschrieben: geht der Ton von allen anderen Programmen die laufen nicht mehr!
Liegt das am Programm, oder ist das unvermeidlich???
KeyKon
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... 