绝地求生小游戏发布了6.0!!!
依旧和往常一样,直接提供源代码
我的个人主页
话不多说,直接上代码:
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <ShellAPI.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
char c;
string kv="TPP",km="艾伦格",ks="单人";
//基本必备函数
void HideWindow() {
HWND hwnd;
hwnd=FindWindow("ConsoleWindowClass",NULL);
if(hwnd) ShowWindow(hwnd,SW_HIDE);
return;
}
void process_e() {
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL);
CloseHandle(hToken);
}//获取权限
bool process_k(DWORD dwPid) {
//printf("Kill进程Pid = %d\n", dwPid);
//关闭进程
HANDLE killHandle = OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | // Required by Alpha
PROCESS_CREATE_THREAD | // For CreateRemoteThread
PROCESS_VM_OPERATION | // For VirtualAllocEx/VirtualFreeEx
PROCESS_VM_WRITE, // For WriteProcessMemory);
FALSE, dwPid);
if (killHandle == NULL)
return false;
TerminateProcess(killHandle, 0);
return true;
}
bool process_f(std::string strProcessName, DWORD& nPid) {
TCHAR tszProcess[64] = { 0 };
lstrcpy(tszProcess, _T(strProcessName.c_str()));
//查找进程
STARTUPINFO st;
PROCESS_INFORMATION pi;
PROCESSENTRY32 ps;
HANDLE hSnapshot;
memset(&st, 0, sizeof(STARTUPINFO));
st.cb = sizeof(STARTUPINFO);
memset(&ps, 0, sizeof(PROCESSENTRY32));
ps.dwSize = sizeof(PROCESSENTRY32);
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
// 遍历进程
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot == INVALID_HANDLE_VALUE)
return false;
if (!Process32First(hSnapshot, &ps))
return false;
do {
if (lstrcmp(ps.szExeFile, tszProcess) == 0) {
//找到制定的程序
nPid = ps.th32ProcessID;
CloseHandle(hSnapshot);
//printf("找到进程: %s\n", tszProcess);
return true;
//getchar();
//return dwPid;
}
} while (Process32Next(hSnapshot, &ps));
CloseHandle(hSnapshot);
return false;
}
void SetPos(COORD a)//光标定位
{
HANDLE out=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(out, a);
}
void SetPos(int i, int j)//光标定位
{
COORD pos= {i, j};
SetPos(pos);
}
void color(int a)//颜色
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void Pos()//隐藏光标
{
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cci;
GetConsoleCursorInfo(hOut, &cci);
cci.bVisible = FALSE;
SetConsoleCursorInfo(hOut, &cci);
}
//所有函数
void loading()
{
color(8);
SetPos(0,5);
cout<<" -----------------"<<endl;
cout<<" -| |-"<<endl;
cout<<" | PUBG |"<<endl;
cout<<" -| |-"<<endl;
cout<<" -----------------"<<endl<<endl<<endl;
color(14);
cout<<" 加载中";
cout<<endl<<endl;
color(8);
for (int i=0; i<36; i++)
cout<<"-";
SetPos(0,14);
color(15);
Pos();
for (int i=0; i<36; i++)
{
cout<<"-";
_sleep(80);
}
cout<<endl<<"100%";
_sleep(1500);
}
void lobby()
{
system("Cls");
cout<<"-----------------------------------------------------------"<<endl;
cout<<"|开始(k) | | |"<<endl;
cout<<"|--------| | |"<<