In fremdes Fenster Gadget einsetzten und Ereignisse abfragen
In fremdes Fenster Gadget einsetzten und Ereignisse abfragen
Hallo!!!
Ich setze in ein fremdes Fenster ein Gadget ein, nur kann ich die Ereignisse nicht abfragen? Wie kann ich dieses Problem lösen?
PS: Die FensterID Lese ich von der Commandozeile ein !!
Ich setze in ein fremdes Fenster ein Gadget ein, nur kann ich die Ereignisse nicht abfragen? Wie kann ich dieses Problem lösen?
PS: Die FensterID Lese ich von der Commandozeile ein !!
- 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
Hier ist ein entsprechender Thread, ohne Lösung: http://www.purebasic.fr/german/viewtopi ... er&start=0
Das EventHandling fremder Fenster wird von Windows geschützt. Wenn das
fremde Fenster auch von Dir programmiert wurde, sollte es aber kein
Problem sein, dort die entsprechenden Messages weiterzuleiten.
Das EventHandling fremder Fenster wird von Windows geschützt. Wenn das
fremde Fenster auch von Dir programmiert wurde, sollte es aber kein
Problem sein, dort die entsprechenden Messages weiterzuleiten.
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.

TS-Soft, du müsstest das doch vielleicht wissen:
Kann man sich eigentlich gegen außere Einflüsse wehren? Alle reden davon, wie horche ich die Events fremder Fenster abhört, sie Hookt oder ein gadget in sie einsetzt.
Kann ich mich auch dagegen "wehren", also unterbrinden, dass meine Events und AKtivitäten abgehlrt werden, sei es das WindowEvent() oder das, was ich an (m)einem Port empfange/sende, etc.....?
Kann man sich eigentlich gegen außere Einflüsse wehren? Alle reden davon, wie horche ich die Events fremder Fenster abhört, sie Hookt oder ein gadget in sie einsetzt.
Kann ich mich auch dagegen "wehren", also unterbrinden, dass meine Events und AKtivitäten abgehlrt werden, sei es das WindowEvent() oder das, was ich an (m)einem Port empfange/sende, etc.....?
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- 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
>> Kann man sich eigentlich gegen außere Einflüsse wehren?
Ja, Firewall, Patchday usw.
>> Nützt das was?
Meist (manchmal?)
Ja, Firewall, Patchday usw.
>> Nützt das was?
Meist (manchmal?)

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.

in dem verlinkten post ist von einem callback die rede!!!
Geht das über ein Callback?
Ich kann in das "fremde Fenster" die Gadgets schon einsetzten, nur leider nicht abfragen!! Eine Lösung wäre ja vielleicht von pb erzeugtest fenster mit gadget und dieses fenster als child von dem anderen fenster!! Wie kann ich aber per id auf das andere fenster zeugreifen? Geht das überhaupt?
Geht das über ein Callback?
Ich kann in das "fremde Fenster" die Gadgets schon einsetzten, nur leider nicht abfragen!! Eine Lösung wäre ja vielleicht von pb erzeugtest fenster mit gadget und dieses fenster als child von dem anderen fenster!! Wie kann ich aber per id auf das andere fenster zeugreifen? Geht das überhaupt?
- 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
>> Geht das über ein Callback?
Nein
Sag mal, heute angemeldet und solche Fragen. Um welches Program geht es
denn?
Nein
Sag mal, heute angemeldet und solche Fragen. Um welches Program geht es
denn?
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,
Die einzige möglichkeit ist ein C-DLL inject.
Hab mich damit ma aueinander gesetzt als ich STRG ALT ENTF diasblen wollte hatte ne CDLL irgendwo ausm inet die das Callback vom Windows SAS ersetzt hat
mfg
125
Die einzige möglichkeit ist ein C-DLL inject.
Hab mich damit ma aueinander gesetzt als ich STRG ALT ENTF diasblen wollte hatte ne CDLL irgendwo ausm inet die das Callback vom Windows SAS ersetzt hat
mfg
125


Gerade ist das in der Lounge aufgetaucht:
edit: für 3.94
Code: Alles auswählen
; 2006 Hroudtwolf
; PureBasic-Lounge.de
; PB 4.00
Declare ExecuteAndWait (Programmname.s,Parameter.s, WorkDir.s)
ExecuteAndWait ("charmap.exe","",""):Delay (500)
If OpenWindow(0, 0, 0,70,20, "PureBasic Window",#WS_POPUP|#PB_Window_Invisible)
hWnd.l=FindWindow_(0,"Zeichentabelle")
If hWnd.l
GetWindowRect_(hWnd.l,wrc.RECT)
ResizeWindow (0,wrc\right-wrc\left-80,wrc\bottom-wrc\top-85,70,20)
SetParent_(WindowID(0),hWnd.l)
CreateGadgetList (WindowID(0))
ButtonGadget (0,0,0,70,20,"PureBasic")
HideWindow(0,0)
Else
End
EndIf
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
If EventGadget () =0
MessageRequester ("Hallo","PureBasic ist super.",0)
SendMessage_(hWnd.l,#WM_CLOSE,0,0)
CloseWindow(0)
End
EndIf
EndSelect
Until Quit = 1
EndIf
End
Procedure ExecuteAndWait (Programmname.s,Parameter.s, WorkDir.s)
Ergebnis = RunProgram(Programmname.s,Parameter.s, WorkDir.s)
Repeat
Event.l=WaitForInputIdle_(Ergebnis, 1000)
Select Event.l
Case $FFFFFFFF
ProcedureReturn GetLastError_()
Case 258
ProcedureReturn 0
EndSelect
Until Event.l=0
ProcedureReturn 1
EndProcedure
Code: Alles auswählen
; 2006 Hroudtwolf
; PureBasic-Lounge.de
; PB 4.00
Declare ExecuteAndWait (Programmname.s,Parameter.s, WorkDir.s)
ExecuteAndWait ("charmap.exe","",""):Delay (500)
If OpenWindow(0, 0, 0,170,120,#WS_POPUP|#PB_Window_Invisible,"PureBasic Window")
hWnd.l=FindWindow_(0,"Zeichentabelle")
If hWnd.l
GetWindowRect_(hWnd.l,wrc.RECT)
ResizeWindow (170,120)
SetParent_(WindowID(0),hWnd.l)
CreateGadgetList (WindowID(0))
ButtonGadget (0,0,0,170,120,"PureBasic")
HideWindow(0,0)
Else
End
EndIf
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
If EventGadgetID() =0
MessageRequester ("Hallo","PureBasic ist super.",0)
SendMessage_(hWnd.l,#WM_CLOSE,0,0)
CloseWindow(0)
End
EndIf
EndSelect
Until Quit = 1
EndIf
End
Procedure ExecuteAndWait (Programmname.s,Parameter.s, WorkDir.s)
Ergebnis = RunProgram(Programmname.s,Parameter.s, WorkDir.s)
Repeat
Event.l=WaitForInputIdle_(Ergebnis, 1000)
Select Event.l
Case $FFFFFFFF
ProcedureReturn GetLastError_()
Case 258
ProcedureReturn 0
EndSelect
Until Event.l=0
ProcedureReturn 1
EndProcedure
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Das ist ganz einfach!!!
Ich bin angehender Fachinformatiker, und irgendwie für kleinere aufgaben liebe ich CLICKEXE (www.clickexe.de)!!! Nur da die anzahl an anzeige-elementen nicht gerade die beste ist, möchte ich mir mit purebasic helfen

Eine Frage wäre auch noch: Wie kann ich in PureBasic eine DDE "Empfang" abfragen? Senden geht über PBOSL das weiß ich, aber empfangen?
Ich bin angehender Fachinformatiker, und irgendwie für kleinere aufgaben liebe ich CLICKEXE (www.clickexe.de)!!! Nur da die anzahl an anzeige-elementen nicht gerade die beste ist, möchte ich mir mit purebasic helfen


Eine Frage wäre auch noch: Wie kann ich in PureBasic eine DDE "Empfang" abfragen? Senden geht über PBOSL das weiß ich, aber empfangen?