
40-Pix-Player
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
habshardfalcon hat geschrieben:Ich hab mich gestern mal etwas mit Hooks auseinandergesetzt, aber ich bin auf keinen grünen Zweig gekommen... Die Procedure, die das Hook verarbeitet, scheint ja ziemlich einfach zu coden sein, aber um das Hook überhaupt mal zu setzen, das geht irgendwie zum VErrecken nicht...

Eine Stunde MSDN Studieren und probieren

mouse.include.pb
Code: Alles auswählen
Structure uPoint
lXPos.l
lYPos.l
EndStructure
Structure uRect
lLeft.l
lTop.l
lRight.l
lBottom.l
EndStructure
Structure uMsLLHookStruct
uPoint.uPoint
lMouseData.l
lFlags.l
lTime.l
lExtraInfo.l
EndStructure
Procedure.b MouseOverWindow(lWindow.l)
Protected bRetVal.b = #False
If IsWindow(lWindow)
Protected uMouse.uPoint, uWindowRect.uRect
GetWindowRect_(WindowID(lWindow), uWindowRect)
GetCursorPos_(uMouse)
If uMouse\lXPos >= uWindowRect\lLeft And uMouse\lXPos <= uWindowRect\lRight And uMouse\lYPos >= uWindowRect\lTop And uMouse\lYPos <= uWindowRect\lBottom
bRetVal = #True
EndIf
EndIf
ProcedureReturn bRetVal
EndProcedure
Procedure.w MouseWheelDelta(wParam.l)
Protected wWheel.w = ((wParam >> 16) & $FFFF)
ProcedureReturn - (wWheel / 120)
EndProcedure
Procedure.l MouseWheelHookCallback(lCode.l, wParam.l, *lParam.uMsLLHookStruct)
If lCode = #HC_ACTION
If wParam = #WM_MOUSEWHEEL
If MouseOverWindow(#WindowMain)
Protected bMouseWheel.l = MouseWheelDelta(*lParam\lMouseData)
If bMouseWheel = 1
FmodExClose()
PlaylistSetNextElement()
FmodExOpen(uElement\sPath + uElement\sFile)
FmodExPlay()
ElseIf bMouseWheel = -1
FmodExClose()
PlaylistSetPreviousElement()
FmodExOpen(uElement\sPath + uElement\sFile)
FmodExPlay()
EndIf
ProcedureReturn #True
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(0, lCode, wParam, *lParam)
EndProcedure
Procedure.l MouseWheelHookInstall()
Global lMouseHook.l = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseWheelHookCallback(), GetModuleHandle_(0), 0)
ProcedureReturn lMouseHook
EndProcedure
Procedure MouseWheelHookRemove()
UnhookWindowsHookEx_(lMouseHook)
lMouseHook = #False
EndProcedure
MouseWheelHookInstall()
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Hey, geiles Konzept
Schick, schlank und nützlich..!
Nur habe ich ein paar MP3s gerade, die spielt er zwar ab, aber die ID3's sind irgendwie verwurschtelt...

Ich habe nachgeschaut, und es liegt nicht an mir...
Winamp sagt folgendes zu der MP3:

Ansonsten: Good Job!
Gr33tz
Tafkadasom2k5
Edit: Er macht das bei ALLEN weiteren Liedern jetzt... ö.Ö
Aber in den Playlisten wird es richtig angezeigt (auch wenn ich dort die ID3-Tags den Filenamen bevorzugen würde)
Einen Vorschlag hätte ich noch- vielleicht ist er schon integriert, aber dann habe ich ihn "auf die Schnelle" nicht gefunden:
Gibt es eine "Global-Hotkey-Funktion"? Ich würde gerne Sezialtasten belegen, um meine Maus nicht immer nach unten links zu bewegen...

Schick, schlank und nützlich..!
Nur habe ich ein paar MP3s gerade, die spielt er zwar ab, aber die ID3's sind irgendwie verwurschtelt...

Ich habe nachgeschaut, und es liegt nicht an mir...
Winamp sagt folgendes zu der MP3:

Ansonsten: Good Job!
Gr33tz
Tafkadasom2k5
Edit: Er macht das bei ALLEN weiteren Liedern jetzt... ö.Ö
Aber in den Playlisten wird es richtig angezeigt (auch wenn ich dort die ID3-Tags den Filenamen bevorzugen würde)
Einen Vorschlag hätte ich noch- vielleicht ist er schon integriert, aber dann habe ich ihn "auf die Schnelle" nicht gefunden:
Gibt es eine "Global-Hotkey-Funktion"? Ich würde gerne Sezialtasten belegen, um meine Maus nicht immer nach unten links zu bewegen...

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
@Tafkadasom2k5,
das ist mir bei einigen MP3s auch aufgefallen. Kann sein das es an den ID3v2 Tags liegt. Muss ich mal näher untersuchen.
Ne Hotkey-Funktion gibt es noch nicht, die kommt aber noch, genauso wie ID3Tags im Menü
Grüße Lukas
das ist mir bei einigen MP3s auch aufgefallen. Kann sein das es an den ID3v2 Tags liegt. Muss ich mal näher untersuchen.
Ne Hotkey-Funktion gibt es noch nicht, die kommt aber noch, genauso wie ID3Tags im Menü

Grüße Lukas
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
es gibt afaik mehrere version von id3v2...vielleicht liegt ja da das problemLukaso hat geschrieben:@Tafkadasom2k5,
das ist mir bei einigen MP3s auch aufgefallen. Kann sein das es an den ID3v2 Tags liegt. Muss ich mal näher untersuchen.
Ne Hotkey-Funktion gibt es noch nicht, die kommt aber noch, genauso wie ID3Tags im Menü![]()
Grüße Lukas

Die Version 0.27 (die, die es zum DL gibt) hat genau 4.989 Zeilen.RSBasic hat geschrieben:@Lukaso
Ich habe eine Frage an dich. Wieviel Zeilen Code hast du insgesamt geschrieben? (Alle PB-Dateien zusammen zählen)
Den neuen den ich entwickle schätze ich auf 20.000 Zeilen ein.
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Uff, endlich habe ich den komischen Crashbug behoben bekommen nachdem ich schon ein halbes Jahr suche. Desweiteren habe ich jetzt endlich den Player im Unicodemodus laufen und ein passender russischer Übersetzer hat sich auch schon gefunden. Jetzt können endlich die arabischen Leute ihre MP3s auch abspielen.
Werde in der kommenden Woche eine Vorabversion zum Vorabtesten veröffentlichen.
Lukas
Werde in der kommenden Woche eine Vorabversion zum Vorabtesten veröffentlichen.

Lukas
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor