Hi,
gibt es eine Möglichkeit, in ein gestartetes Programm (mit Window) einen Button einzufügen und die Aktivitäten mit meinem Programm zu koppeln?
Ich frage, weil ich eine Anwendung habe die ein Fenster ist, in das ich (sozusagen nachträglich) zur Laufzeit eine Funktionalität hinzufügen will, die das Programm nicht mitbringt...
[Win32] Button in ein fremdes Fenster einbauen
Sollte es nicht gehen, dann denke ich mal für dich um die Ecke:
Erstell doch ein Rahmenloses Fenster, dass immer die Koordinaten des fremden Fensters plus die normale GadgetX() und GadgetY() Funktion hat.
Das Fenster selbst istdann nur so breit wie der Button. Und dann hälst du das Fenster mit seinem Button halt immer über das Fenster, zu dem du den Button hinzufügen möchtest.
Auf diese Weise kannst du dann auch mit den herkömmlichen Methoden, wie WindowEvent() abfragen, ob der Button betätigt wurde und einen entsprechenden Code ausführen lassen.
Erstell doch ein Rahmenloses Fenster, dass immer die Koordinaten des fremden Fensters plus die normale GadgetX() und GadgetY() Funktion hat.
Das Fenster selbst istdann nur so breit wie der Button. Und dann hälst du das Fenster mit seinem Button halt immer über das Fenster, zu dem du den Button hinzufügen möchtest.
Auf diese Weise kannst du dann auch mit den herkömmlichen Methoden, wie WindowEvent() abfragen, ob der Button betätigt wurde und einen entsprechenden Code ausführen lassen.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Ich würds mit FindWindow_() probiern. Beispiel:
Bei mir klappts aber irgendwie nich, der Button kommt, aber er wird nicht abgefragt (wegen events)... 
Code: Alles auswählen
hWnd=FindWindow_(class$,title$)
CreateGadgetList(hWnd)
ButtonGadget(#Button,x,y,width,height,"Klick mich!")

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Events anderer Prozesse lassen sich aus Sicherheitsgründen in Windows nicht
abfragen. Lediglich für Threads ist dies möglich, wenn explicit erlaubt wurde.
abfragen. Lediglich für Threads ist dies möglich, wenn explicit erlaubt wurde.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Hi,
stimmt so nicht ganz, ist möglich, man müsste eine DLL in betreffendes Programm injecten..... Dann kann man die kompletten events des Programms abfragen.... Fragt mich jetzt aber nicht wie man das macht
mfg
125
stimmt so nicht ganz, ist möglich, man müsste eine DLL in betreffendes Programm injecten..... Dann kann man die kompletten events des Programms abfragen.... Fragt mich jetzt aber nicht wie man das macht

mfg
125


- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Also stimmt es doch, was Du beschreibst ist Hacking und Illegal125 hat geschrieben:Hi,
stimmt so nicht ganz, ist möglich, man müsste eine DLL in betreffendes Programm injecten..... Dann kann man die kompletten events des Programms abfragen.... Fragt mich jetzt aber nicht wie man das macht![]()
mfg
125
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken