Exekiller.c

CODE
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
*                                                                                       *
*  File: Exekiller.c                                                                    *
*                                                                                       *
*  Purpose: a program to prevent other processes from running                           *
*                                                                                       *      
*  Usage: compile to Exekiller.exe and run it as: "Exekiller.exe <processname>"         *
*                                                                                       *
*  Copyright(C) 2004 White Scorpion,all rights reserved                                        *
*                                                                                       *
*  This program is free software; you can redistribute it and/or                        *
*  modify it under the terms of the GNU General Public License                          *
*  as published by the Free Software Foundation; either version 2                       *
*  of the License, or (at your option) any later version.                               *
*                                                                                       *
*  This program is distributed in the hope that it will be useful,                      *
*  but WITHOUT ANY WARRANTY; without even the implied warranty of                       *
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                        *
*  GNU General Public License for more details.                                         *
*                                                                                       *
*  You should have received a copy of the GNU General Public License                    *
*  along with this program; if not, write to the Free Software                          *
*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.          *
*                                                                                       *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/

#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>
#include <windowsx.h>//used for the sleep function

int main(int argc,char *argv[])
{
    if(argc!=2)
    {
        printf("/n/nExekiller - written by White Scorpion, 2004/n/n");
        printf("This is a tool designed to prevent a process from starting./n");
        printf("In reality it does start, but gets killed again within the second./n");
        printf("This can be useful if you want to prevent your kids to start internet/n");
        printf("or a game or something like that./n");
        printf("The program runs in the backgound without any visible window, and/n");
        printf("is easy to use. I hope this program will prove useful to someone;-)/n");
        printf("/nUsage: Exekiller <PROCESSNAME>");
        printf("/nExample: /"Exekiller iexplore.exe/", Internet Explorer won't start.");
        printf("/nYou can kill Exekiller itself by pressing <CTRL>+<SHIFT>+<BACKSPACE>./n/n");
        
        return EXIT_FAILURE;
    }
    
    int info,pid,exitcode,term;
    long code;
    HANDLE Snap,Process;
    PROCESSENTRY32 proc32;
    BOOL ServiceName;
    HWND stealth;
    
    stealth=FindWindowA("ConsoleWindowClass",NULL);//create stealth, window is not visible.
    ShowWindow(stealth,0);
    
    while(1)
    {
        sleep(200);
        Snap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);/*take a snap of all processes*/
        if(Snap==INVALID_HANDLE_VALUE)
        {
             ShowWindow(stealth,1);
             return EXIT_FAILURE;
        }
        if((GetAsyncKeyState(VK_BACK)==-32767)&&(GetAsyncKeyState(VK_SHIFT)==-32767)&&(GetAsyncKeyState(VK_CONTROL)==-32767))
        {//if <ctrl>+<shift>+<backspace>
               ShowWindow(stealth,1);
               return EXIT_SUCCESS;//exit normally
        }
                      
        proc32.dwSize=sizeof(PROCESSENTRY32); /*set size of structure*/  
  
        while((Process32Next(Snap,&proc32))==TRUE)/*while we haven't reached the final process*/
        {
             if(strcmp(proc32.szExeFile,argv[1])==0)
             {
                       pid=proc32.th32ProcessID;
                       Process=OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,pid);/*obtain a handle to the process*/
                       if(Process==NULL)
                       {
                            CloseHandle(Process);
                            ShowWindow(stealth,1);
                            return EXIT_FAILURE;
                       }
                       exitcode=GetExitCodeProcess(Process,&code);/*get the exitcode from the process*/  
                       if(exitcode==0)
                       {
                            CloseHandle(Process);
                            ShowWindow(stealth,1);
                            return EXIT_FAILURE;
                       }
                       Process=OpenProcess(PROCESS_TERMINATE,FALSE,pid);/*see if we have terminate rights*/
                       if(Process==NULL)
                       {
                             CloseHandle(Process);
                             ShowWindow(stealth,1);
                             return EXIT_FAILURE;
                       }
                       term=TerminateProcess(Process,code);/*terminate the process*/
                       if (term==0)
                       {
                             CloseHandle(Process);
                             ShowWindow(stealth,1);
                             return EXIT_FAILURE;
                       }
                       /*all went fine, process is killed*/
                       //CloseHandle(Process);
                                                                
             }
            
        }
    }
}
资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在Android移动应用开发中,定位功能扮演着极为关键的角色,尤其是在提供导航、本地搜索等服务时,它能够帮助应用获取用户的位置信息。以“baiduGPS.rar”为例,这是一个基于百度地图API实现定位功能的示例项目,旨在展示如何在Android应用中集成百度地图的GPS定位服务。以下是对该技术的详细阐述。 百度地图API简介 百度地图API是由百度提供的一系列开放接口,开发者可以利用这些接口将百度地图的功能集成到自己的应用中,涵盖地图展示、定位、路径规划等多个方面。借助它,开发者能够开发出满足不同业务需求的定制化地图应用。 Android定位方式 Android系统支持多种定位方式,包括GPS(全球定位系统)和网络定位(通过Wi-Fi及移动网络)。开发者可以根据应用的具体需求选择合适的定位方法。在本示例中,主要采用GPS实现高精度定位。 权限声明 在Android应用中使用定位功能前,必须在Manifest.xml文件中声明相关权限。例如,添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />,以获取用户的精确位置信息。 百度地图SDK初始化 集成百度地图API时,需要在应用启动时初始化地图SDK。通常在Application类或Activity的onCreate()方法中调用BMapManager.init(),并设置回调监听器以处理初始化结果。 MapView的创建 在布局文件中添加MapView组件,它是地图显示的基础。通过设置其属性(如mapType、zoomLevel等),可以控制地图的显示效果。 定位服务的管理 使用百度地图API的LocationClient类来管理定位服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值