Nyt tarvitaan apua. Olen includennut tiedoston windows.h, mutta C-ohjelmani ei keksi tyyppiä POINTAPI. Mikähän auttaisi?
EDIT: sorsa tässä:
#include <windows.h>
#include <math.h>
void Liikuta (DWORD x, DWORD y);
int main(void) {
POINTAPI alkuper;
DWORD uusx;
DWORD uusy;
float ang;
float rad;
POINTAPI uus;
alkuper.x = 512;
alkuper.y = 384;
//toimii tonnimoodissa
while(1) {
ang += 2;
if (ang > 360) {ang -= 360;}
rad = ang * 3.14159 / 180;
//pii vähän lyhennetty, osaan ulkoa 3.14159265358979323846264338 :)
uusx = cos(rad) * 200;
uusy = sin(rad) * 200;
uus.x = alkuper.x + uusx;
uus.y = alkuper.y + uusy;
Liikuta (uus.x, uus.y);
Sleep (10);
}
}
void Liikuta(DWORD x, DWORD y) {
POINTAPI piste;
piste.x = x;
piste.y = y;
ClientToScreen (0, piste);
SetCursorPos (piste.x, piste.y);
}Jokainen arvannee, että ohjelma on tärkeä.
KoTW kirjoitti:
//pii vähän lyhennetty, osaan ulkoa 3.14159265358979323846264338 :)
Vai niin. Ei se ole kuin (wikipedian mukaan) 26 / 100000 = 0,026% maailmanennätyksestä!
Noh, asiaan:
Katso ClientToScreenin oikea muoto täältä
33 C:\Dev-Cpp\kicca.c request for member `y' in something not a structure or union.
Ja noita n+1. Myöskään x tai X ei kelpaa.
Onko se nyt näin? (ja tuolta alusta POINTAPI -> POINT vaikkapa)
void Liikuta(DWORD x, DWORD y) {
POINT piste;
piste.x = x;
piste.y = y;
ClientToScreen (0, &piste);
SetCursorPos (piste.x, piste.y);
}EDIT: ja vaikka tuo DWORD vielä intiksi, jos siitä valittaa
Kiitos. Nyt toimii :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.