Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 12.86 KB | None | 0 0
  1. #include <tchar.h>
  2. #include <iostream>
  3. #include <windows.h>
  4. #include <fstream>
  5. #include <shlobj.h>
  6. #include <shlwapi.h>
  7. #include <objbase.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <time.h>
  11. #include <conio.h>
  12. #include <cstring>
  13. #pragma comment (lib, "Wininet.lib");
  14. #include <wininet.h>
  15. #include <vector>
  16. #include <math.h>
  17. using namespace std;
  18.  
  19. #define IDT_TIMER 1
  20. #define IDT_TIMER2 2
  21. #define MAIN_LOOP 3
  22. #define IDT_TIMER3 4
  23. #define SHUTDOWN 5
  24.  
  25. #define IDC_PICK1 6
  26. #define IDC_PICK2 7
  27. #define IDC_PICK3 8
  28. #define IDC_SAVE 9
  29. #define IDC_START 10
  30. #define IDC_RESET 11
  31.  
  32. #define SLEEPP 12
  33. #define SLEEPPANIM 13
  34. #define IDC_STOP 14
  35. #define IDC_STARTUP 15
  36. #define QUICK 16
  37.  
  38. WNDCLASSEX wc;
  39. HWND hwnd, B1, B2, B3, B4, B5, B6, B7, INACTIVET, INACTIVED, INACTIVEDD, BSAVE, yes;
  40. MSG msg;
  41. LASTINPUTINFO key;
  42. int SLEEP = 0, SHUTDOWNTIMEOUT = 0, AFKMODE, ANIMATION = 1;
  43. DWORD keyOLD;
  44. bool SAVE = false;
  45. LPSTR CMD;
  46.  
  47. bool STARTUP()
  48. {
  49.     fstream check;
  50.     check.open("config.cfg", ios::in);
  51.     check >> AFKMODE;
  52.     SetTimer(hwnd, QUICK, 5000, NULL);
  53.     if (check.is_open())
  54.     {
  55.         check.close();
  56.         return true;
  57.     } else {
  58.         check.close();
  59.         return false;
  60.     }
  61. }
  62.  
  63. void FLASH()
  64. {
  65.     FLASHWINFO obj;
  66.     ZeroMemory( & obj, sizeof( FLASHWINFO ) );
  67.     obj.cbSize = sizeof( FLASHWINFO );
  68.     obj.dwFlags = FLASHW_TRAY;
  69.     obj.hwnd = hwnd;
  70.     obj.uCount = 2;
  71.     obj.dwTimeout = 500;
  72.     FlashWindowEx( & obj );
  73. }
  74.  
  75. void DESTROY()
  76. {
  77.     DestroyWindow(B1);
  78.     DestroyWindow(B2);
  79.     DestroyWindow(B3);
  80.     DestroyWindow(B4);
  81.     DestroyWindow(B5);
  82.     DestroyWindow(B6);
  83.     DestroyWindow(B7);
  84.     DestroyWindow(INACTIVET);
  85.     DestroyWindow(INACTIVED);
  86.     DestroyWindow(BSAVE);
  87.     DestroyWindow(INACTIVEDD);
  88.     DestroyWindow(yes);
  89. }
  90.  
  91. void KILLTIMERS()
  92. {
  93.     KillTimer(hwnd, IDT_TIMER);
  94.     KillTimer(hwnd, IDT_TIMER2);
  95.     KillTimer(hwnd, IDT_TIMER3);
  96.     KillTimer(hwnd, MAIN_LOOP);
  97.     KillTimer(hwnd, SLEEPP);
  98.     KillTimer(hwnd, SLEEPPANIM);
  99. }
  100.  
  101. void RUNAPP()
  102. {
  103.     DESTROY();
  104.     INACTIVET = CreateWindow(
  105.                 "STATIC",
  106.                 "",
  107.                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | ES_READONLY,
  108.                 10, 10, 190, 20,
  109.                 hwnd, NULL, NULL, NULL);
  110.     BSAVE = CreateWindow(
  111.                 "BUTTON",
  112.                 "Change Config",
  113.                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER,
  114.                 10, 30, 190, 20,
  115.                 hwnd, (HMENU)IDC_RESET, NULL, NULL);
  116.     INACTIVEDD = CreateWindow(
  117.                 "STATIC",
  118.                 "---",
  119.                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | ES_READONLY,
  120.                 10, 50, 190, 110,
  121.                 hwnd, NULL, NULL, NULL);
  122.     EnableWindow(INACTIVET, TRUE); 
  123.     HFONT hFont = CreateFont (120, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial");
  124.     SendMessage (INACTIVEDD, WM_SETFONT, WPARAM (hFont), TRUE);
  125.     SetTimer(hwnd, IDT_TIMER, 100, (TIMERPROC) NULL);
  126.     SetTimer(hwnd, IDT_TIMER2, 1000, (TIMERPROC) NULL);
  127.     SetTimer(hwnd, MAIN_LOOP, 1000, (TIMERPROC) NULL);
  128.     ANIMATION = 1;
  129. }
  130.  
  131. string intToStr(int n)
  132. {
  133.     string tmp;
  134.     if(n < 0)
  135.     {
  136.         tmp = "-";
  137.         n = -n;
  138.     }
  139.     if (n > 9) tmp += intToStr(n / 10);
  140.     tmp += n % 10 + 48;
  141.     return tmp;
  142. }
  143.  
  144. void PREPARE_END()
  145. {
  146.     yes = CreateWindow(
  147.             "BUTTON",
  148.             "STOP SHUTDOWN",
  149.             WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER,
  150.             10, 0, 190, 45,
  151.             hwnd, (HMENU)IDC_STOP, NULL, NULL);
  152.     DestroyWindow(INACTIVET);
  153.     DestroyWindow(BSAVE);
  154.     BringWindowToTop(yes);
  155. }
  156.  
  157. LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
  158. {
  159.     switch(Message)
  160.     {
  161.         case WM_DESTROY:
  162.         {
  163.             KILLTIMERS();
  164.             PostQuitMessage(0);
  165.             break;
  166.         }
  167.        
  168.         case WM_CREATE:
  169.         {
  170.             SHELLEXECUTEINFO sei = { sizeof(sei) };
  171.             sei.lpVerb = "open";
  172.             sei.lpFile = "cmd.exe";
  173.             sei.lpParameters = "/C COPY %USERPROFILE%\\Documents\\AFKDOWN\\config.cfg .\\";
  174.             sei.nShow = SW_HIDE;
  175.             ShellExecuteExA(&sei);
  176.             DESTROY();
  177.             INACTIVED = CreateWindow(
  178.                         "STATIC",
  179.                         "A",
  180.                         WS_VISIBLE | WS_CHILD | ES_CENTER,
  181.                         10, 10, 190, 150,
  182.                         hwnd, NULL, NULL, NULL);
  183.             HFONT hFont = CreateFont (140, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial");
  184.             SendMessage (INACTIVED, WM_SETFONT, WPARAM (hFont), TRUE);
  185.             SetTimer(hwnd, SLEEPP, 3000, (TIMERPROC) NULL);
  186.             SetTimer(hwnd, SLEEPPANIM, 1000, (TIMERPROC) NULL);
  187.             break;
  188.         }
  189.        
  190.         case WM_COMMAND:
  191.         {
  192.             switch(LOWORD(wParam))
  193.             {
  194.                 case IDC_PICK1:
  195.                 {
  196.                     AFKMODE = 1;
  197.                     break;
  198.                 }
  199.                 case IDC_PICK2:
  200.                 {
  201.                     AFKMODE = 2;
  202.                     break;
  203.                 }
  204.                 case IDC_PICK3:
  205.                 {
  206.                     AFKMODE = 3;
  207.                     break;
  208.                 }
  209.                 case IDC_SAVE:
  210.                 {
  211.                     if (SAVE) SAVE = false;
  212.                     else SAVE = true;
  213.                     break;
  214.                 }
  215.                 case IDC_START:
  216.                 {
  217.                     if (AFKMODE == 0)
  218.                     {
  219.                         MessageBox(hwnd, "Pick \"AFK detection aggresion\" before continue!", "ERROR", MB_OK);
  220.                     } else {
  221.                         if (SAVE)
  222.                         {
  223.                             fstream save;
  224.                             save.open("config.cfg", ios::out);
  225.                             save << AFKMODE;
  226.                             save.close();
  227.                             ShellExecute(0, "open", "cmd.exe", "/C MKDIR %USERPROFILE%\\Documents\\AFKDOWN&COPY config.cfg %USERPROFILE%\\Documents\\AFKDOWN\\&DEL /Q config.cfg", 0, SW_HIDE);
  228.                             RUNAPP();
  229.                         } else {
  230.                             RUNAPP();
  231.                         }
  232.                     }
  233.                     break;
  234.                 }
  235.                 case IDC_RESET:
  236.                 {
  237.                     ShellExecute(0, "open", "cmd.exe", "/C DEL /Q %USERPROFILE%\\Documents\\AFKDOWN", 0, SW_HIDE);
  238.                     KILLTIMERS();
  239.                     DESTROY();
  240.                     INACTIVED = CreateWindow(
  241.                                 "STATIC",
  242.                                 "A",
  243.                                 WS_VISIBLE | WS_CHILD | ES_CENTER,
  244.                                 10, 10, 190, 150,
  245.                                 hwnd, NULL, NULL, NULL);
  246.                     HFONT hFont = CreateFont (140, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial");
  247.                     SendMessage (INACTIVED, WM_SETFONT, WPARAM (hFont), TRUE);
  248.                     SetTimer(hwnd, SLEEPP, 3000, (TIMERPROC) NULL);
  249.                     SetTimer(hwnd, SLEEPPANIM, 1000, (TIMERPROC) NULL);
  250.                     break;
  251.                 }
  252.                 case IDC_STOP:
  253.                 {
  254.                     KILLTIMERS();
  255.                     RUNAPP();
  256.                     SetWindowText(INACTIVED, "---");
  257.                     break;
  258.                 }
  259.                 case IDC_STARTUP:
  260.                 {
  261.                     TCHAR szFileName[MAX_PATH];
  262.                     GetModuleFileName(NULL, szFileName, MAX_PATH);
  263.                     string ST = "/C MKLINK \"%appdata%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\AFKDOWN.exe - shortcut\" \"" + string(szFileName) + "\"";
  264.                    
  265.                     SHELLEXECUTEINFO sei = { sizeof(sei) };
  266.                     sei.lpVerb = "runas";
  267.                     sei.lpFile = "cmd.exe";
  268.                     sei.lpParameters = ST.c_str();
  269.                     sei.nShow = SW_HIDE;
  270.                     ShellExecuteExA(&sei);
  271.                     break;
  272.                 }
  273.                 break;
  274.             }
  275.            
  276.             case WM_TIMER:
  277.             {
  278.                 switch (wParam)
  279.                 {
  280.                     case QUICK:
  281.                     {
  282.                         ShellExecute(0, "open", "cmd.exe", "/C DEL /Q config.cfg", 0, SW_HIDE);
  283.                         KillTimer(hwnd, QUICK);
  284.                         break;
  285.                     }
  286.                     case SLEEPP:
  287.                     {
  288.                         KillTimer(hwnd, SLEEPPANIM);
  289.                         DestroyWindow(INACTIVED);
  290.                         KillTimer(hwnd, SLEEPP);
  291.                         if (STARTUP())
  292.                         {
  293.                             RUNAPP();
  294.                             SetWindowText(INACTIVED, "---");
  295.                         } else {
  296.                             B1 = CreateWindow(
  297.                                 "BUTTON",
  298.                                 " AFK detection aggresion ",
  299.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | BS_GROUPBOX,
  300.                                 10, 10, 190, 100,
  301.                                 hwnd, NULL, NULL, NULL);
  302.                             B2 = CreateWindow(
  303.                                 "BUTTON",
  304.                                 "LOW (100/50)",
  305.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | BS_AUTORADIOBUTTON | BS_PUSHLIKE,
  306.                                 30, 30, 150, 20,
  307.                                 hwnd, (HMENU)IDC_PICK1, NULL, NULL);
  308.                             B3 = CreateWindow(
  309.                                 "BUTTON",
  310.                                 "MEDIUM (60/30)",
  311.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | BS_AUTORADIOBUTTON | BS_PUSHLIKE,
  312.                                 30, 55, 150, 20,
  313.                                 hwnd, (HMENU)IDC_PICK2, NULL, NULL);
  314.                             B4 = CreateWindow(
  315.                                 "BUTTON",
  316.                                 "HIGH (30/15)",
  317.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | BS_AUTORADIOBUTTON | BS_PUSHLIKE,
  318.                                 30, 80, 150, 20,
  319.                                 hwnd, (HMENU)IDC_PICK3, NULL, NULL);
  320.                             B5 = CreateWindow(
  321.                                 "BUTTON",
  322.                                 "Save config.",
  323.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER | BS_CHECKBOX,
  324.                                 10, 110, 120, 20,
  325.                                 hwnd, (HMENU)IDC_SAVE, NULL, NULL);
  326.                             B6 = CreateWindow(
  327.                                 "BUTTON",
  328.                                 "STARTUP",
  329.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER,
  330.                                 130, 110, 70, 20,
  331.                                 hwnd, (HMENU)IDC_STARTUP, NULL, NULL);
  332.                             B7 = CreateWindow(
  333.                                 "BUTTON",
  334.                                 "RUN PROGRAM",
  335.                                 WS_VISIBLE | WS_CHILD | WS_BORDER | ES_CENTER,
  336.                                 10, 135, 190, 20,
  337.                                 hwnd, (HMENU)IDC_START, NULL, NULL);
  338.                         }
  339.                     }
  340.                     case SLEEPPANIM:
  341.                     {
  342.                         if (ANIMATION == 1) SetWindowText(INACTIVED, "F");
  343.                         else if (ANIMATION == 2) SetWindowText(INACTIVED, "K");
  344.                         ANIMATION++;
  345.                     }
  346.                     case IDT_TIMER:
  347.                     {
  348.                         key.cbSize = sizeof(LASTINPUTINFO);
  349.                         GetLastInputInfo(&key);
  350.                         if (key.dwTime == keyOLD){}
  351.                         else {
  352.                             SLEEP = 0;
  353.                         }
  354.                         keyOLD = key.dwTime;
  355.                         string x = "IDLE TIME: ";
  356.                         x += intToStr(SLEEP);
  357.                         x+= "s";
  358.                         SetWindowText(INACTIVET, x.c_str());
  359.                         break;
  360.                     }
  361.                     case IDT_TIMER2:
  362.                     {
  363.                         SLEEP++;
  364.                         SHUTDOWNTIMEOUT++;
  365.                         break;
  366.                     }
  367.                     case IDT_TIMER3:
  368.                     {
  369.                         FLASH();
  370.                         if (AFKMODE == 1)
  371.                         {
  372.                             float i = (3000-(float)SHUTDOWNTIMEOUT)/60;
  373.                             string y = intToStr(ceil(i));
  374.                             SetWindowText(INACTIVEDD, y.c_str());
  375.                             if (SHUTDOWNTIMEOUT == 3000)
  376.                             {
  377.                                 SetTimer(hwnd, SHUTDOWN, 1000, (TIMERPROC) NULL);
  378.                                 KillTimer(hwnd, IDT_TIMER3);
  379.                             }
  380.                         }
  381.                         else if (AFKMODE == 2)
  382.                         {
  383.                             float i = (1800-(float)SHUTDOWNTIMEOUT)/60;
  384.                             string y = intToStr(ceil(i));
  385.                             SetWindowText(INACTIVEDD, y.c_str());
  386.                             if (SHUTDOWNTIMEOUT == 1800)
  387.                             {
  388.                                 SetTimer(hwnd, SHUTDOWN, 1000, (TIMERPROC) NULL);
  389.                                 KillTimer(hwnd, IDT_TIMER3);
  390.                             }
  391.                         }
  392.                         else if (AFKMODE == 3)
  393.                         {
  394.                             float i = (900-(float)SHUTDOWNTIMEOUT)/60;
  395.                             string y = intToStr(ceil(i));
  396.                             SetWindowText(INACTIVEDD, y.c_str());
  397.                             if (SHUTDOWNTIMEOUT == 900)
  398.                             {
  399.                                 SetTimer(hwnd, SHUTDOWN, 1000, (TIMERPROC) NULL);
  400.                                 KillTimer(hwnd, IDT_TIMER3);
  401.                             }
  402.                         }
  403.                         else {
  404.                             MessageBox(NULL, "AFKMODE: wrong specified/equals NULL", "ERROR", MB_OK);
  405.                             KILLTIMERS();
  406.                             PostQuitMessage(0);
  407.                         }
  408.                     }
  409.                     case SHUTDOWN:
  410.                     {
  411.                         ShellExecute(0, "open", "cmd.exe", "/C SHUTDOWN -s -t 1", 0, SW_HIDE);
  412.                         break;
  413.                     }
  414.                     case MAIN_LOOP:
  415.                     {
  416.                         if (AFKMODE == 1)
  417.                         {
  418.                             float i = (6000-(float)SLEEP)/60;
  419.                             string y = intToStr(ceil(i));
  420.                             SetWindowText(INACTIVEDD, y.c_str());
  421.                             if (SLEEP == 6000)
  422.                             {
  423.                                 SHUTDOWNTIMEOUT = 0;
  424.                                 SetTimer(hwnd, IDT_TIMER3, 500, (TIMERPROC) NULL);
  425.                                 PREPARE_END();
  426.                             }
  427.                         }
  428.                         else if (AFKMODE == 2)
  429.                         {
  430.                             float i = (3600-(float)SLEEP)/60;
  431.                             string y = intToStr(ceil(i));
  432.                             SetWindowText(INACTIVEDD, y.c_str());
  433.                             if (SLEEP == 3600)
  434.                             {
  435.                                 SHUTDOWNTIMEOUT = 0;
  436.                                 SetTimer(hwnd, IDT_TIMER3, 500, (TIMERPROC) NULL);
  437.                                 PREPARE_END();
  438.                             }
  439.                         }
  440.                         else if (AFKMODE == 3)
  441.                         {
  442.                             double i = (1800-(float)SLEEP)/60;
  443.                             string y = intToStr(ceil(i));
  444.                             SetWindowText(INACTIVEDD, y.c_str());
  445.                             if (SLEEP == 1800)
  446.                             {
  447.                                 SHUTDOWNTIMEOUT = 0;
  448.                                 SetTimer(hwnd, IDT_TIMER3, 500, (TIMERPROC) NULL);
  449.                                 PREPARE_END();
  450.                             }
  451.                         }
  452.                         else {
  453.                             MessageBox(NULL, "AFKMODE: wrong specified/equals NULL", "ERROR", MB_OK);
  454.                             KILLTIMERS();
  455.                             PostQuitMessage(0);
  456.                         }
  457.                     }
  458.                 }
  459.             }
  460.             break;
  461.         }
  462.        
  463.         default:
  464.             return DefWindowProc(hwnd, Message, wParam, lParam);
  465.     }
  466.     return 0;
  467. }
  468.  
  469. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  470. {
  471.     if (string(lpCmdLine) == "-sc") Sleep(60000);
  472.     memset(&wc,0,sizeof(wc));
  473.     wc.cbSize        = sizeof(WNDCLASSEX);
  474.     wc.lpfnWndProc   = WndProc;
  475.     wc.hInstance     = hInstance;
  476.     wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
  477.  
  478.     wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
  479.     wc.lpszClassName = "WindowClass";
  480.     wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
  481.     wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);
  482.  
  483.     if(!RegisterClassEx(&wc)) {
  484.         MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
  485.         return 0;
  486.     }
  487.  
  488.     hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","AFKDOWN",
  489.         WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX | WM_TIMER,
  490.         CW_USEDEFAULT,
  491.         CW_USEDEFAULT,
  492.         220,
  493.         200,
  494.         NULL,NULL,hInstance,NULL);
  495.  
  496.     if(hwnd == NULL) {
  497.         MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
  498.         return 0;
  499.     }
  500.    
  501.     while(GetMessage(&msg, NULL, 0, 0) > 0)
  502.     {
  503.         TranslateMessage(&msg);
  504.         DispatchMessage(&msg);
  505.     }
  506.     return msg.wParam;
  507. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement