Stringgadget und Listicon Inhalt/e ermitteln
Stringgadget und Listicon Inhalt/e ermitteln
Hallo!
Ich will für eines meiner Programme einen Pluginloader schreiben und wollte wissen, wie ich den Inhalt eines stringgadgets und die Inhalte eines listicon gadgets über die WinAPI ermitteln kann.
Ich will für eines meiner Programme einen Pluginloader schreiben und wollte wissen, wie ich den Inhalt eines stringgadgets und die Inhalte eines listicon gadgets über die WinAPI ermitteln kann.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
String Gadget: #WM_GETTEXT
ListIcon Gadget: #LVM_GETITEM / #LVM_GETITEMTEXT
ListIcon Gadget: #LVM_GETITEM / #LVM_GETITEMTEXT
Windows 10 Pro, 64-Bit / Outtakes | Derek
- 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
>> Mache ich was falsch?
Ja, ich nehme mal an, das ein Buffer und dessen Länge gebraucht wird, um
den Text speichern zu können, hab aber nicht nachgeschaut, kannste ja auch
mal selber suchen.
Ja, ich nehme mal an, das ein Buffer und dessen Länge gebraucht wird, um
den Text speichern zu können, hab aber nicht nachgeschaut, kannste ja auch
mal selber suchen.
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.

Ok, habs durch logisches denken(!) herausgefunden:
Global memory=AllocateMemory(1000)
SendMessage_(GadgetID(sg),#wm_gettext,SendMessage_(GadgetID(sg),#wm_gettext,SendMessage_(GadgetID(sg),#wm_gettextlength,0,0),memory) memory)
Debug PeekS(memory)
FreeMemory(memory)
Danke für den Tipp.
Eine Frage: Ist es eigentlich möglich, von einer DLL aus das handle "zu ermitteln", ohne dass ich das handle der DLL übergeben muss?
Global memory=AllocateMemory(1000)
SendMessage_(GadgetID(sg),#wm_gettext,SendMessage_(GadgetID(sg),#wm_gettext,SendMessage_(GadgetID(sg),#wm_gettextlength,0,0),memory) memory)
Debug PeekS(memory)
FreeMemory(memory)
Danke für den Tipp.
Eine Frage: Ist es eigentlich möglich, von einer DLL aus das handle "zu ermitteln", ohne dass ich das handle der DLL übergeben muss?
hae ... Warum holst du dir 2 mal den Text ?
Was fuern "handle" ?
Code: Alles auswählen
len = SendMessage_(GadgetID(sg),#WM_GETTEXTLENGTH,0,0)
memory = AllocateMemory(len)
len2 = SendMessage_(GadgetID(sg),#WM_GETTEXT,len, memory)
If len <> len2
Debug "Text nicht vollstaendig"
EndIf
Edit:hae ... Warum holst du dir 2 mal den Text ?
Code:
len = SendMessage_(GadgetID(sg),#WM_GETTEXTLENGTH,0,0)
memory = AllocateMemory(len)
len2 = SendMessage_(GadgetID(sg),#WM_GETTEXT,len, memory)
If len <> len2
Debug "Text nicht vollstaendig"
EndIf
Ich habe mich oben vertippt, meinte:
SendMessage_(GadgetID(sg),#wm_gettext,SendMessage_(GadgetID(sg),#wm_gettextlength,0,0),memory)
>Was fuern "handle" ?
das vom stringgadget?! Oder ist handle hier der falsche Begriff?
- 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
EnumChildWindow, FindWindow, GetClassName usw., such Dir aus, was DuForge hat geschrieben:>Was fuern "handle" ?
das vom stringgadget?! Oder ist handle hier der falsche Begriff?
brauchst um das Handle des Stringgadgets zu finden, übergeben ist
einfacher!
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
- 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
Generelle Lösungen kenne ich nicht, immer das was sich anbietet!Forge hat geschrieben:Wie macht man das eigentlich generell bei Plugin-Unterstützung?
Mach wie Du es am einfachsten findest, aber übergeben würde ich es schon,Forge hat geschrieben: Übergibt man der Funktion der DLL das handle oder darf der Plugin-Programmierer das selbst finden?
ohne suchen. Empfehlenswert wäre: SetEnvirontvariable, so hat die DLL
gleich alles Parat, ohne das extra was übergeben 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.
