Joo, miten mahtanee onnistua ominaisuus, jolla voisi ottaa koko ruudusta screenshotin ja tallentaa se tiettyyn hakemistoon es. img/työpöydä(lle) kansioon vakiona!?
Voisitko vaikka aluksi kertoa, millä kielellä?
Ahaa, aiemmista viesteistä päätellen C++...
2min googletuksella löytyi tämä:
http://planetsourcecode.com/vb/scripts/ShowCode.
Tuota voi myös sitten soveltaa niin, ettei se tallenna aina samaan tiedostoon.
Pliis, käytä aivoja kun ne sinullakin luultavasti on.
kiitos...
En saannut toimimaan tuota kun pastetin tuon koodin ja lisäsin sen painikkeeseen. Sen pitäisi ajaa koodi ja pystyisin sitten nappulaa painamalla, jälkeen päin ottamaan screenshotin.
Varaosa kirjoitti:
En saannut toimimaan tuota kun pastetin tuon koodin ja lisäsin sen painikkeeseen.
Ei sitä kannata suoraan kopioida painikkeeseen, kun se kerran on jo funktiona tuossa koodissa. Kopioit vain funktion (ja tietysti headerit) koodiin ja painikkeeseen lisäät ainoastaan koodin, joka kutsuu sitä funktiota. Tuosta koodista ei oikein muuten tiedä, mitä se on. Näyttäisi C:ltä, mutta kuitenkin siellä on iostream, jonka perään ei kuulu lisätä ".h":ta.
Sen pitäisi olla C++:saa, jota tässä vähän utelin. Mutta miksi, mukama kirjastoissa ei voi olla lyhennettä ".h"!? Itse laitan aina ja tulen aina laittamaan...
Mitkä function ja headerit minun pitää kalastaa erikseen!? Ja sitten vain lisään painikeseen kutsu functiot!?
Varaosa kirjoitti:
Sen pitäisi olla C++:saa, jota tässä vähän utelin. Mutta miksi, mukama kirjastoissa ei voi olla lyhennettä ".h"!? Itse laitan aina ja tulen aina laittamaan...
Ei kukaan sanonut ettei voi olla, mutta C++-standardissa vakio-otsakkeet ovat iostream jne, ilman .h:ta. Omissa voi käyttää mitä haluaa, noissa ei kannata.
Varaosa kirjoitti:
Mitkä function ja headerit minun pitää kalastaa erikseen!? Ja sitten vain lisään painikeseen kutsu functiot!?
Funktioon tuossa koodissa kuuluu "void TakeScreenShot(char* filename)" ja kaikki, mikä sen jälkeen tulee. Headerit (eri asia kuin kirjastot) ovat siis nämä:
#include <iostream> #include <windows.h> #include <stdio.h>
Ja iostream tosiaan standardin mukaan ilman .h:ta, kuten feenix sanoikin. Jos et muuten ole ihan sisäistänyt funktioiden tarkoitusta, niin lukaisepa tuosta: https://www.ohjelmointiputka.net/oppaat/opas.
Moi,
Huomasithan koodia koittaessasi, että siinä on kirjoitusvirhe
LPVOIDpBuf=NULL;
pitää olla muodossa:
LPVOID pBuf=NULL;
Tein ihan pikaisen testin ja kopio-liitin funktion
void TakeScreenShot(char* filename) { ... }
win32-projektissa tidoston loppuun.
Lisäsin nappiin koodin:
TakeScreenShot("c:\\kuvakaappaus.bmp");
sekä lisäsin tiedoston alkuun seuraavat rivit:
#include <iostream> #include <windows.h> #include <stdio.h> void TakeScreenShot(char* filename);
Ja vaikuttaisi toimivan hyvin eli aina nappia painettaessa otetaan kuvakaappaus ruudusta.
WinC:
Pastetappa se koodi tähän niin kokeilen toimiiko se kun en saannut omaani toimimaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.