Seite 1 von 1
Purebasic und Rainmeter
Verfasst: 25.02.2014 21:39
von Joebo2572
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?
Re: Purebasic und Rainmeter
Verfasst: 26.02.2014 06:30
von TroaX
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.
Re: Purebasic und Rainmeter
Verfasst: 27.02.2014 19:16
von Joebo2572
Danke für die Antwort...
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;
}
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