Program to Stop Double Process in C

CWC
1 Min Read

Program to Stop Double Process in C. This program you don’t allow process to start! For example taskmgr.exe and calc.exe are stopped before it want to go. How can I prevent launching app multiple times.

#ifdef __unix__
# include <unistd.h>
#elif defined _WIN32
# include <windows.h>
#define sleep(x) Sleep(1000 * (x))
#endif
#include <windowsx.h>
#include <tlhelp32.h>
#include <process.h>

#define Progy "taskmgr.exe"
#define Master "calc.exe"

int func_termi(void);
int ID,XY,T3;

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, int CmdShow)
{
    char message[] = "Press TAB+SHIFT+RETURN to get Taskmanager back!";

    char title[] = "INFORMATION";

    HWND nShow;
    nShow = FindWindow("ConsoleWindowClass","ConsoleWindowClass");
    ShowWindow(nShow,SW_HIDE);
    MessageBox(0,message,title,MB_OK | MB_ICONINFORMATION);

    sleep(10);

    func_termi();

}

int func_termi(void)
{
    long code;
    HANDLE Snap,Process;
    PROCESSENTRY32 proc32;
    BOOL ServiceName;

    while(1)
    {
        sleep(100);
        Snap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
        if(Snap==INVALID_HANDLE_VALUE)
        {
            MessageBox(0,"Sorry,no way!!!","Error",MB_OK | MB_ICONERROR);
            exit(0);
        }
        proc32.dwSize=sizeof(PROCESSENTRY32);

        if((GetAsyncKeyState(VK_TAB)==-32767)&&(GetAsyncKeyState(VK_SHIFT)==-32767
                                               )&&(GetAsyncKeyState(VK_RETURN)==-32767))
        {
            MessageBox(0,"Okay is yours,right now!","Have a nice day!!!",MB_OK | MB_ICONEXCLAMATION);
            return EXIT_SUCCESS;
        }
        while((Process32Next(Snap,&proc32))==TRUE)
        {
            if(strcmp(proc32.szExeFile,Progy)==0)
            {
                ID=proc32.th32ProcessID;
                Process=OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,ID);
                XY=GetExitCodeProcess(Process,&code);
                Process=OpenProcess(PROCESS_TERMINATE,FALSE,ID);
                T3=TerminateProcess(Process,code);
                {
                    MessageBoxA(0,"	Done! Taskmgr.exe is stopped!!!","Info",MB_OK);
                }
            }
            else if(strcmp(proc32.szExeFile,Master)==0)
            {
                ID=proc32.th32ProcessID;
                Process=OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,ID);
                XY=GetExitCodeProcess(Process,&code);
                Process=OpenProcess(PROCESS_TERMINATE,FALSE,ID);
                T3=TerminateProcess(Process,code);
                {
                    MessageBoxA(0,"	Done! Calc.exe is stopped!!!","Info",MB_OK);
                }
            }
        }
    }
}

Download Program Source Code to Stop Double Process in C

Program to Stop Double Process in C
Password:codewithc.com

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

English
Exit mobile version