Autor Beitrag
Default112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP
D6 Prof
BeitragVerfasst: Sa 14.05.05 22:26 
Mir fiel kein besseres Topic ein zu meinem Problem und zwar möchte ich ein kleines Frontend für Winamp programmieren. Mein Probleme sind:
1. Wie stelle ich es an, dass Winamp in meiner Form geöffnet wird? Also dass sich Winamp innerhalb meiner Form verschieben lässt, aber nicht aus der Form heraus kann?
2. Wie kann ich verbieten, dass man WInamp verschieben kann (sofern ich es innerhalb meiner Form öffne)?

Sollte dies nicht gehen habe ich weitere Fragen ^^

3. Kann ich von meinem Programm heraus die Position vom Winampfenster kontrollieren, oder auslesen?
4. Wie kann ich meine Form immer über Winamp legen, aber unter alle anderen Fenster lassen?

Hoffe, meine Probleme sind verstanden. Im Grunde will ich nur ein kleines Fenster was sich an WInamp legt und zusätzliche Infos ANzeigt. Oder halt ein Komplettes Programm, wo Winamp innerhalb der Form ist. Das ganze mit Winampskins vermischt sollte ein schönes Programm ergeben.

Danke für Antworten ;)

Gruss
Def
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 15.05.05 00:31 
Du kannst das Winampfenster soweit ich weis nich einfach zu einem MDI-Child deiner Form machen. kann ich mir nich vorstellen. Wenn du WA verschwinden lassen willst, dann geht das über die WinampAPI. ich hab dazu eine dll programmiert, aber das geht auch ohne:
ausblenden Delphi-Quelltext
1:
2:
3:
WAHandle := FindWindow('Winamp v1.x'Nil);
if Boolean(SendMessage(WAHandle, WM_USER, 00)) then
    SendMessage(WAHandle, WM_Command, 402580);

Anstelle der 40258 kannst du noch andere Zahlen stellen, für andere effekte. hier eine Liste:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
Previous track button 40044
Next track button 40048
Play button 40045
Pause/Unpause button 40046
Stop button 40047
Fadeout and stop 40147
Stop after current track 40157
Fast-forward 5 seconds 40148
Fast-rewind 5 seconds 40144
Start of playlist 40154
Go to end of playlist 40158
Open file dialog 40029
Open URL dialog 40155
Open file info box 40188
Set time display mode to elapsed 40037
Set time display mode to remaining 40038
Toggle preferences screen 40012
Open visualization options 40190
Open visualization plug-in options 40191
Execute current visualization plug-in 40192
Toggle about box 40041
Toggle title Autoscrolling 40189
Toggle always on top 40019
Toggle Windowshade 40064
Toggle Playlist Windowshade 40266
Toggle doublesize mode 40165
Toggle EQ 40036
Toggle playlist editor 40040
Toggle main window visible 40258
Toggle minibrowser 40298
Toggle easymove 40186
Raise volume by 1% 40058
Lower volume by 1% 40059
Toggle repeat 40022
Toggle shuffle 40023
Open jump to time dialog 40193
Open jump to file dialog 40194
Open skin selector 40219
Configure current visualization plug-in 40221
Reload the current skin 40291
Close Winamp 40001
Moves back 10 tracks in playlist 40197
Show the edit bookmarks 40320
Adds current track as a bookmark 40321
Play audio CD 40323
Load a preset from EQ 40253
Save a preset to EQF 40254
Opens load presets dialog 40172
Opens auto-load presets dialog 40173
Load default preset 40174
Opens save preset dialog 40175
Opens auto-load save preset 40176
Opens delete preset dialog 40178
Opens delete an auto load preset dialog 40180

Zum verändern der Position... hm. Da würde ich mal die Suche benutzen.. vielleicht nach Suche in: Delphi-Forum, Delphi-Library FENSTER POSITION suchen... aber ich glaube das WAHandle hilft dir da weiter. achja PS: WAHandle ist eine variable vom typ THandle.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Default112 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP
D6 Prof
BeitragVerfasst: So 15.05.05 12:59 
Hmm... dann hab ich noch eine Frage ;)

Ich hab jetz herausgefunden, wie ich Winamp aus meinem Programm heraus verschieben kann. Dazu benutze ich folgenden Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
...
hTargetWnd := findWindow('Winamp v1.x',nil);
...
SetWindowPos(hTargetWnd,HWND_NOTOPMOST,Rect.Left - 10,Rect.Top - 10,0,0,SWP_NOSIZE);


Aber: So verschiebe ich das Winamp Hauptfenster. Das Fenster mit dem Equalizer und der PLaylist bleiben an der sleben Stelle stehen, wo sie vor dem verschieben standen. Wie kann ich das beheben?
Default112 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP
D6 Prof
BeitragVerfasst: So 15.05.05 13:18 
Hab noch ein bisschen rumgespielt, und herausgefudne, dass der code nur bei Winamp 2 funktioniert und bei Winamp 5 nicht.

Btw, gibts kein edit Knopf?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 15.05.05 15:41 
edit knopf: rechts oben die kleine schere die ein Blatt papier schneidet...
Der code funkt auch bei Winamp 5. glaub mir ^^ jeden falls klappt er bei mir. Die fenster mit dem equalizer und der Playlist sind auch Fenster, deren Handles du bekommen kannst. suche mal im Forum nach Suche in: Delphi-Forum, Delphi-Library X-SPY, das ist soweit ich weis ein Programm mit dem man handles rausbekommen kann (u.a.) dann starteste Winamp und findest deine handles. und dann kannste mit FindWindow (oder direkt mit dem Handle? ne oder? oO) auch auf diese Fenster zugreifen und sie genauso verschieben.

edit: hatte "zitat" mit "edit" verwechselt.. sorry.. :oops:

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.


Zuletzt bearbeitet von JayEff am So 15.05.05 18:47, insgesamt 1-mal bearbeitet
Fabian W.
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1766

Win 7
D7 PE
BeitragVerfasst: So 15.05.05 15:45 
freak24
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.05.05 15:46 
user profile iconDefault112 hat folgendes geschrieben:

1. Wie stelle ich es an, dass Winamp in meiner Form geöffnet wird? Also dass sich Winamp innerhalb meiner Form verschieben lässt, aber nicht aus der Form heraus kann?

Gibt es nicht eine Funktion namens SetParent? Ich kann mich daran erinnern, dass ich damit mal Notepad gekidnapped hatte. War aber mit Visual Basic :(