Hallo,
gibt es eine Möglichkeit plugins für Rainmeter in Purebasic zu schreiben, bzw hat schon jemand ein leeres Gerüst für sowas?
Purebasic und Rainmeter
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Purebasic und Rainmeter
Ich habe mir mal kurz die API Doku angesehen. Vorgesehen sind grundsätzlich Plugins mit C# oder C++. Näher kam ich auch nicht ran, da ich mit dem Handy gerade keine Projektfiles bzw. Das SDK öffnen kann. Aber finde es interessant, das die C++ API nur aus Funktionen zu bestehen, wodurch im Grunde C zum schreiben ausreicht. Die frage ist dann nur, ob externe Libs eingebunden werden oder ob sie als Source vorliegen. Letzteres wäre fummelig, da diese Sources erst mit nem C++ Compiler in Libs compiliert werden müssen. Es sei denn sie lassen sich in PB umsetzen, was als C++ sehr schwierig wird.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Re: Purebasic und Rainmeter
Danke für die Antwort...
Hab mir mal VSExpress runtergeladen und den Beispielcode angefügt:
Das ergibt ein leeres Plugin. Für Samurize gibt's ein Plugin Skelett für Purebasic. Eigentlich müsste es doch ähnlich laufen, oder?
Grüße, Jörn
Hab mir mal VSExpress runtergeladen und den Beispielcode angefügt:
Code: Alles auswählen
#include <Windows.h>
#include "../../API/RainmeterAPI.h"
// Overview: This is a blank canvas on which to build your plugin.
// Note: GetString and ExecuteBang have been commented out. If you need
// GetString and/or ExecuteBang and you have read what they are used for
// from the SDK docs, uncomment the function(s). Otherwise leave them
// commented out (or get rid of them)!
struct Measure
{
Measure() {}
};
PLUGIN_EXPORT void Initialize(void** data, void* rm)
{
Measure* measure = new Measure;
*data = measure;
}
PLUGIN_EXPORT void Reload(void* data, void* rm, double* maxValue)
{
Measure* measure = (Measure*)data;
}
PLUGIN_EXPORT double Update(void* data)
{
Measure* measure = (Measure*)data;
return 0.0;
}
//PLUGIN_EXPORT LPCWSTR GetString(void* data)
//{
// Measure* measure = (Measure*)data;
// return L"";
//}
//PLUGIN_EXPORT void ExecuteBang(void* data, LPCWSTR args)
//{
// Measure* measure = (Measure*)data;
//}
PLUGIN_EXPORT void Finalize(void* data)
{
Measure* measure = (Measure*)data;
delete measure;
}
Grüße, Jörn