VB6 No23 Recorder auf Form verankern

Guten Abend (oder Nacht)!

Ich möchte den No23-Recorder von PHBern verwenden und auf einer Form
verankern.
Mit Shell („C:\Programme\No23 Recorder\No23 Recorder.exe“)
kann ich ihn starten aber er ist nicht dort, wo ich ihn haben möchte. Er sollte immer an der gleichen Position auf der Form erscheinen(Left 4600, Top 120). An der Größe braucht nichts geändert werden.

Für eine Hilfe bin ich sehr dankbar!!!

mfG
Othmar

Mit Shell („C:\Programme\No23 Recorder\No23 Recorder.exe“)
kann ich ihn starten aber er ist nicht dort, wo ich ihn haben
möchte. Er sollte immer an der gleichen Position auf der Form
erscheinen(Left 4600, Top 120). An der Größe braucht nichts
geändert werden.

Hallo Othmar,

vielleicht so:

Option Explicit
'
Const HH\_DISPLAY\_TOPIC = &H0
Const HH\_HELP\_CONTEXT = &HF
' Fenster verschieben/positionieren
Private Declare Function MoveWindow Lib "user32" ( \_
 ByVal hwnd As Long, \_
 ByVal x As Long, \_
 ByVal y As Long, \_
 ByVal nWidth As Long, \_
 ByVal nHeight As Long, \_
 ByVal bRepaint As Long) As Long
' Fensterhandle ermitteln
Private Declare Function FindWindow Lib "user32" \_
 Alias "FindWindowA" ( \_
 ByVal lpClassName As String, \_
 ByVal lpWindowName As String) As Long
'
Private Sub Command1\_Click()
Dim nhWnd As Long
nhWnd = Shell("notepad.exe", vbNormalFocus)
nhWnd = FindWindow(vbNullString, "Unbenannt - Editor")
If nhWnd 0 Then
 MoveWindow nhWnd, Form1.Left / 11, Form1.Top / 11, 400, 300, True
End If
End Sub

Gruß
Reinhard

Hallo Reinhard,

danke für Deine rasche Hilfe!
Ich konnte mich nicht früher melden.

Habe mit der Einbindung Deines Vorschlages ein Problem:

Nach Programmstart bekomme ich die Meldung „Mehrdeutiger Name: FindWindow“

Und bei den Modulen wird dieser Teil blau hinterlegt.
Private Declare Function FindWindow Lib „user32“ _
Alias „FindWindowA“ ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Es stimmt, dass ich die Function FindWindow und Alis FindWindowA
bereits verwendet.
Was kann ich Ändern?

Habe auch Private Sub Command1_Click()
nhWnd = Shell(„notepad.exe“,vbNormalFocus)
auf
nhWnd = Shell(„No23Recorder.exe“,vbNormalFocus)
geändert

Kann ich auch „Unbenannt-Editor“ weglassen?

Vielleicht könntest Du mir dabei noch helfen?

Danke im Voraus

Guß
Othmar

Hallo Othmar,

Nach Programmstart bekomme ich die Meldung „Mehrdeutiger Name:
FindWindow“

dann lösche das doppelte FindWindow.

Kann ich auch „Unbenannt-Editor“ weglassen?

Nicht weglassen, ersetzen durch den genauen Fenstertitel deines Programms.

Gruß
Reinhard

Hallo Reinhard,
danke für rasche Hilfe!!

Habe zweites Private Declare Function FindWindow Lib …
entfernt.

Jetzt bekomme ich die Kompilermeldung: „Sub oder Function nicht deffiniert“

Da ich den Recorder (No 32 Recorder.exe) gleich nach dem Programmstart
starten möchte, habe ich die Programmzeilen gleich in Form_Load()
geschrieben.

Statt „Unbenannt-Editor“ soll ich was hinein schreiben, oder besser gesagt, wie finde ich, was ich hineinschreiben muss?

Im Taskmanager steht unter Task „No23Recorder 2.1“

Danke im Voraus!!

Gruß Othmar

Hallo Othmar,

Habe zweites Private Declare Function FindWindow Lib …
entfernt.
Jetzt bekomme ich die Kompilermeldung: „Sub oder Function
nicht deffiniert“

Wie watt, erst war sie doppelt, nun ist sie ganz wech *gg*
zeige doch mal bitte den Code den du jetzt hast.

Statt „Unbenannt-Editor“ soll ich was hinein schreiben, oder
besser gesagt, wie finde ich, was ich hineinschreiben muss?

Naja, beim Editor steht der Fenstertitel „Unbenannt…“ deutlich sichtbar oben links Im Fenstertitel.
Wenn das bei deinem rekorder nicht so ist haben wir ein Problemchen

@Houston, Mod, Rainer, Alex, Alle, wir haben ein Problem :smile:

Im Taskmanager steht unter Task „No23Recorder 2.1“

Das wird nicht der Fenstertitel sein sondern der Name des Programms, also winword (.exe) füe word usw.

GRuß
Reinhard

Hallo Reinhard,

habe nicht alle rausgelöscht!!

Hier, Dein Code, den ich in ein eigenes Projekt gestellt habe,
um es auszutesten.
'----------------------------------------------------------
Projekt1 Form1(Code)

Option Explicit
Dim nhWnd As Long

Private Sub Command1_Click()
nhWnd = Shell(„C:\Programme\No23 Recorder\No23 Recorder.exe“, _
vbNormalFocus)
nhWnd = FindWindow(vbNullString,"???")
If nhWnd 0 then
MoveWindow nhWnd, Form1.Left/11, Form1.Top/11,400,300,
True
end If
End Sub

Projekt1 Module1(Code)
Const HH_DISPLAY_TOPIC=&H0
Const HH_Help_CONTEXT =&HF
'Fenster verschieben/Positionieren
Private Declare Function MoveWindow Lib „user32“ ( _
ByVal hwnd As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal bRepaint As Long)As Long
'Fensterhandle ermitteln
Private Declare Function FindWindow Lib „user32“ _
Alias „FindWindowA“ ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

'----------------------------------------------------------

Nach Programmstart Fehlermeldung: Sub oder Function nicht deffiniert
Das gilt für FindWindow und MoveWindow

Kann man „No23 Recorder.exe“ nicht auf einem Frame positionieren oder
in einer PictureBox??

Wo mag das Problem liegen?
Ich hoffe, ich nerve nicht zu arg!!!

Gruß Othmar

Hallo Othmar,

mein Vorschlag, vielleicht gibt es ja bessere Ansätze, beruht darauf daß man den Titel des Fensters kennt.
Okay, dann starte mal dein Recorder_Dings und finde mit hier:
http://www.vbarchiv.net/tipps/tipp_447-alle-laufende…
heraus wie denn der Titel genau lautet.

Mir fiel ein, vielleicht brauchst du ja gar keine Form!?
Es wird wohl langen daß du VB startest und dein Recorder wird positioniert.
Oder nicht?

Wie auch immer, in Vb habe ich nämlich keine Ahnung *gg*, erwarte ich sehnlichst mal was von Rainer.
Hoffentlich ist Rainer kein Faschingsprinz, die sind ja erst Donnerstag, na eher Freitag wieder ansprechbar *grins*

Wie auch immer II, finde erstmal den Fenstertitel raus.
Dann schaue ich weiter.

Und nein, du nervst natürlich nicht. Du hast ein problem und fragst hier höflich. Alles klar.
Und, du reagierst auf Antworten von potentiellen Helfern, sehr schön.
Was mich nervt sind die Leute, die auf Hilfsantworten nicht reagiern.
Kürzliches Beispiel.
Jmd. fragt an wie er in OpenOffice ein Textfeld einbauen kann.
Ich antworte: Ansicht—Symbolleisten—Formularsteuerelemente.
Antwort: nene ich wollte kein Formular ich wollte ein Textfeld.
Ich: mach doch einfach was ich schrieb.
siehe da auf einmal klappts :frowning:
Hätte er doch gleich machen können.

Das und anderes Verhalten nervt mich. Unkenntnis nervt mich überhaupt nicht, warum auch. Hätte er gesagt, ich habe mir die Symbolleiste eingeblendet, was soll ich jetzt tun, okay, das beantworte ich gerne.

Aber egal, ist halt so.

Gruß
Reinhard

Hallo Reinhard,

Hoffentlich ist Rainer kein Faschingsprinz, die sind ja erst
Donnerstag, na eher Freitag wieder ansprechbar *grins*

nein ist er nicht und liest auch mit. :smile:

Um den ‚Recorder‘ in das Projekt einbinden zu können müsste das DirectX sein, keine .exe, wenn ich mich da nicht schwer irre. Ohne es ganz genau zu wissen schreibe ich aber lieber nicht: ‚geht nicht‘. Mir fällt nichts bessseres als dein Vorschlag ein, deshalb gab es für mich bisher nichts zu kommentieren. :smile: Das Sternchen klebe ich an Deine letzte Antwort, wenn das Projekt läuft …

Gruß Rainer

korrektur …
Hallo Reinhard,

ActiveX meine ich natürlich, *.ocx zum Beispiel. Nicht DirectX. Sorry.

Gruß Rainer

Hallo Reinhard,

Danke für Deine nette Antwort - habe leider in anderen VB-Foren (vor einigen Jahren) schon andere Antworten erhalten.

wer-weis-was hat Niveau und das meine ich auch so!!!

Nun zum Sorgenkind.

Sicher könnte ich den Recorder automatisch mit dem PC starten.
Er sollte aber ein Bestandteil einer Tonanlage sein.

Auf der Form befindet sich schon die Fernsteuerung von Winamp mit einer speziellen Auswahl der mp3-Files und unterhalb des Recorders, wenn das Mischpult(17 Jahre alt) seinen Geist aufgibt,möchte ich die Bedeienoberfläche einer Soundkarte (Mischer???), die ich noch nicht kenne, platzieren.

Vorerst einmal herzlichen Dank für Deine Hilfe!

Melde mich nächste oder übernächste Woche mit einem Ergebnis wieder.

Bis dahin
liebe Grüße
Othmar

hallo Othmar,

Danke für Deine nette Antwort - habe leider in anderen
VB-Foren (vor einigen Jahren) schon andere Antworten erhalten.

tja nun, da müßte ich die Beitragsfolgen kennen um mir ein Urteil zu bilden.

Aus 10 Jahren Erfahrung hier und in anderen Foren, okay vba, wird aber wohl in dem Punkt identisch mit VB sein, nervt grundsätzlich kein Anfrager.
Auch nicht wenn er Null bis gar keine Ahnung hat.
Wir alle wissen, sollten es wissen, wir haben alle mal so angefangen.

Nerv-Reaktionen kann man schon auslösen.

Angenommen, auch wenn du VB-Newbie bist, kannst du dir leicht die Antwort einfangen:
Ist dein Google kaputt, oder Hier gibts ein Archiv.
Wenn du halt eine banale Frage stellst, die schon Millionenfach beantwortet wurde.

Ist nichts schlimmes, ist halt der nicht sehr diskrete Hineis erstmal zu googlen bzw. das Archiv zu benutzen bevor du fragst.

Wenn du aber sagst, hallo ich hab bei Google bzw. Archiv etwas gefunden kann das aber nicht umsetzen da ich Laie bin, da wird dir garantiert geholfen.

Nervig ist auch wenn die Anfrager auf Rückfragen nach z.B. Betriebsystem, Versionen oder was auch sonst einfach nicht eingehen.

Das liegt gar nicht am bösen Willen der Anfrager, ist irgendwie auch menschlich, die sitzen an ihrem PC, haben das ach so große Problem vor sich, am Mittwoch will der Chef Ergebnisse sehen, also Stress ohne Ende. Schon haben sie Scheuklappen auf und sehen nicht links rechts und nehmen Antworten von potentiellen Helfern gar nicht richtig wahr.

Da hilft leider oft nur noch der Dampfhammer um sie in ihrem Interesse aus dieser „Erstarrung“ herauszureißen.

Der kann dann so aussehen:

Entweder du sagst endlich welche Version du hast, machst exakt das was ich sagte und berichtest mir genau was geschieht oder ich klinke mich aus.

Okay, ich bin absolut nicht der Geduldigste. Weil ich so reagiere habe ich nie so lange Threads wie rainer gelegentlich :smile:))

Ach, vergiss was ich schrieb.
Um was gings eigentlich?
Achja, dein Recorder *gg*

wer-weis-was hat Niveau und das meine ich auch so!!!

Nicht in allen Brettern, aber in Fachbrettern schon *sehr zustimm*

Vorerst einmal herzlichen Dank für Deine Hilfe!

Gerne.

Melde mich nächste oder übernächste Woche mit einem Ergebnis
wieder.

Wenn du eins hast. Ist gar nicht so einfach mit Vb „Musik“ zu „steuern“.

Vor kurzem hatt ich Code der die Lautstärke regeln sollte.
Ich habe mir den Win media Mixer angeschaut während ich den Code testete. Einfluß hatte der Code nur auf die balance (rechts/links) der „Wave“-Abteilung.
Das eigentlich gewünschte, die Lautstärke, blieb davon unberührt.
(Nicht ganz, bei 0 war auch Ruhe, aber jeder Wert darüber veränderte nur links/rechts)

Und auf dem Media Mixer gibts ja viele Dinger, k.A. wie man die steuert.

Also viel Spass damit :smile:

Gruß
Reinhard