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.