Omskrivning til funktion
Hejsa, jeg søger en gut der ville være flink at skrive Main() om så jeg kan bruge det som en funktion i stedet for det bliver kørt når programmet bliver kørt. Jeg ville gerne kunne bruge ledctrl( W/M , 1/0 ) og implantere koden ind i noget eksistrerende kode jeg har fået lavet.#include <windows.h>
#include <stdio.h>
HANDLE ATKACPIhandle;
#define MLED 0x44454c4d
#define WLED 0x44454c57
#define LED 0x44454c00
int CtrlACPI(int code, int hasArg, int arg)
{
long bytes = 0;
long inbuf[5];
struct cmbuf {
short cmds[2];
long cm2;
} cbuf;
long outbuf[192];
int ret;
cbuf.cmds[0] = 0;
cbuf.cmds[1] = 4;
cbuf.cm2 = arg;
inbuf[0] = 2;
inbuf[1] = code;
inbuf[2] = hasArg;
inbuf[3] = 8 * hasArg;
inbuf[4] = (long)&cbuf;
ret = DeviceIoControl(ATKACPIhandle, 0x222404, inbuf, sizeof(inbuf),
outbuf, sizeof(outbuf), &bytes, NULL);
return ret;
}
int main(int argc, char *argv[]) {
int code = LED;
int onoff;
if (argc != 3) {
fputs("usage: ",stderr);
fputs(argv[0],stderr);
fputs(" M|T|W 0|1\n",stderr);
exit(1);
}
ATKACPIhandle = CreateFile("\\\\.\\ATKACPI",
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
0, NULL);
if (ATKACPIhandle) {
code |= argv[1][0];
onoff = argv[2][0] & 1;
CtrlACPI(code, 1, onoff);
}
}