#include <stdio.h> #include <string> #include <windows.h> #include <wininet.h> #include <winuser.h> #include <conio.h> #include <time.h> #include <fstream> #include <strsafe.h> #include <io.h> #include <crtdefs.h> #include <fstream> #include <GdiPlus.h> #include <lmcons.h> //char acUserName[100]; using namespace Gdiplus; using namespace std; fstream err("errormul.txt",ios::app); fstream log_error_file("log_error.txt",ios::app); #pragma comment(lib, "user32.lib") #pragma comment(lib,"Wininet.lib") #pragma comment (lib,"gdiplus.lib") void screenshot(string file){ ULONG_PTR gdiplustoken; GdiplusStartupInput gdistartupinput; GdiplusStartupOutput gdistartupoutput; gdistartupinput.SuppressBackgroundThread = true; GdiplusStartup(& gdiplustoken,& gdistartupinput,& gdistartupoutput); //start GDI+ HDC dc=GetDC(GetDesktopWindow());//get desktop content HDC dc2 = CreateCompatibleDC(dc); //copy context RECT rc0kno; // rectangle Object GetClientRect(GetDesktopWindow(),&rc0kno);// get desktop size; int w = rc0kno.right-rc0kno.left;//width int h = rc0kno.bottom-rc0kno.top;//height HBITMAP hbitmap = CreateCompatibleBitmap(dc,w,h); //create bitmap HBITMAP holdbitmap = (HBITMAP) SelectObject(dc2,hbitmap); BitBlt(dc2, 0, 0, w, h, dc, 0, 0, SRCCOPY); //copy pixel from pulpit to bitmap Bitmap* bm= new Bitmap(hbitmap,NULL); UINT num; UINT size; ImageCodecInfo *imagecodecinfo; GetImageEncodersSize(&num,&size); //get count of codec imagecodecinfo = (ImageCodecInfo*)(malloc(size)); GetImageEncoders (num,size,imagecodecinfo);//get codec CLSID clsidEncoder; for(int i=0; i < num; i++) { if(wcscmp(imagecodecinfo[i].MimeType,L"image/jpeg")==0) clsidEncoder = imagecodecinfo[i].Clsid; //get jpeg codec id } free(imagecodecinfo); wstring ws; ws.assign(file.begin(),file.end()); //sring to wstring bm->Save(ws.c_str(),& clsidEncoder); //save in jpeg format SelectObject(dc2,holdbitmap); //Release Objects DeleteObject(dc2); DeleteObject(hbitmap); ReleaseDC(GetDesktopWindow(),dc); GdiplusShutdown(gdiplustoken); } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int CmdShow) { while(true){ SYSTEMTIME st; // create object of system time GetLocalTime(&st); int year = st.wYear; // extract year from system time int month = st.wMonth; // extract month from system time int day = st.wDay; // extract year day system time int hour = st.wHour; // extract year hours system time int mintue = st.wMinute; // extract mintue from system time string yearS = to_string(year); yearS += "_"; string monthS = to_string(month); monthS += "-"; string dayS = to_string(day); dayS += "-"; string hourS = to_string(hour); hourS += "H-"; string mintueS = to_string(mintue); mintueS += "M.jpg"; string startDate; startDate =dayS + monthS + yearS + hourS + mintueS; // create complete string of date and time screenshot(startDate); // send string to screenshot function Sleep(1000*30*1); // delay execution of function 60 Seconds } }
Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++
and start coding!
OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter name:";
getline (cin, name);
cout << "Hello " << name;
return 0;
}
C++ is a widely used middle-level programming language.
When ever you want to perform a set of operations based on a condition If-Else is used.
if(conditional-expression) {
//code
}
else {
//code
}
You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to If-Else-If ladder.
switch(conditional-expression){
case value1:
// code
break; // optional
case value2:
// code
break; // optional
......
default:
code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
//code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while (condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
// code
}