Code (in C):
#include <stdio.h>
#include <windows.h>
#include <powrprof.h>
#pragma comment(lib, "powrprof.lib")
int main(void)
{
SYSTEM_BATTERY_STATE sbs = {0};
CallNtPowerInformation(SystemBatteryState, NULL, 0, &sbs, sizeof(sbs));
printf("Charge rate: %.1f W\n", (int)sbs.Rate / 1000.0);
return 0;
}
Executable (base64; 1 KiB):
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABX6uPGE4uNlROLjZUTi42V0ISClRKLjZUTi4yVEYuNldCE0JUWi42V0ITulRKLjZXQhNeVEouNlVJpY2gTi42VAAAAAAAAAABQRQAATAEBADJq1E4AAAAAAAAAAOAADwELAQcKAAIAAAAAAAAAAAAAMBAAAAAQAAAAIAAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAAAgAAAAAgAAAAAAAAMAAAQAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAARAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAigEAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiEQAAAAAAAEwRAAAAAAAA/Knx0k1iUD8AAAAAAAAAAP8lABBAAMzMzMzMzMzMzMyD7DiycohUJAOIVCQHM9KJVCQZiVQkHYlUJCG4IAAAAFCJVCQpsWWIRCQKiEQkEIhEJBWJVCQtjUQkHFCITCQNiEwkEjPJiVQkNVGJVCQ9UWaJVCRFagXGRCQUQ8ZEJBVoxkQkFmHGRCQYZ8ZEJBxhxkQkHXTGRCQfOsZEJCElxkQkIi7GRCQjMcZEJCRmxkQkJlfGRCQnCohMJCiITCQsiFQkS+hH////20QkKIPsCI1MJAjcDRAQQADdHCRR/xUIEEAAM8CDxETDzMzMzMzM
RBEAAAAAAAAAAAAAVhEAAAgQAAA8EQAAAAAAAAAAAAB8EQAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYhEAAAAAAABMEQAAAAAAAPECcHJpbnRmAABtc3ZjcnQuZGxsAAAAAENhbGxOdFBvd2VySW5mb3JtYXRpb24AAFBPV1JQUk9GLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
which can be decoded with online tools, e.g. this one.
Output:
Charge rate: -18.0 W
Of course, it's only querying the battery for the information, so its accuracy is entirely dependent on the battery's. :)