XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Трактир
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Light or Dark

offline
Опыт: 7,275
Активность:
Проблемы с запуском EXE-шника
Собственно, проблемы.
Написал я прогу, которая должна при запуске мониторить компьютер в поисках приключений запущенных процессов игр и рубить их >_< для брата делал xD
Но вот беда - на семерке всё отлично работает, а на нужном компьютере (на нем XP) exe-шник, скомпилированный visual studio и засунутый в автозагрузку, не работает. Ни в какую, ни автозагрузкой, ни тыком мышью, ни с флешки, ни из-под администратора.
Если на семерке в "диспетчере задач" появляется сам процесс (назван "antigamer"), то в семерке этого не происходит.
Что делать, как быть?
» Код программы
В коде, что закомментировано - то и должно быть таким, в этом ошибок нет
    #include "stdafx.h"
	#include "conio.h"
    #include <windows.h>
	#include <iostream>
	#include <Tlhelp32.h>
	#include <fstream>
	#include <stdio.h>
	#include <stdlib.h>
	#include <string.h>
	using namespace std;
	int date[6];

bool KillProcByPid(DWORD pid)
{
DWORD ExitCode;
HANDLE hp;
bool ret = true;

if(pid)
        {
        hp = OpenProcess(PROCESS_ALL_ACCESS, true, pid);
        if (hp)
                {
                GetExitCodeProcess(hp, &ExitCode);
                ret = TerminateProcess(hp, ExitCode);
                }
        else
                {
                return false;
                }
        }
else
        {
        return false;
        }

CloseHandle(hp);
return ret;
}

int testdate(void)
{   
    wchar_t lpReturnedString[100];
	HANDLE hFile;
	FILETIME ftCreate, ftAccess, ftWrite, lpLocalFileTime;
	SYSTEMTIME stUTC, stLocal;


	char lpszString[MAX_PATH];

	hFile = CreateFile(L"H:\\key.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
	if(hFile != INVALID_HANDLE_VALUE)
	{
		 // получить файловую дату и время
		if(!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
		{
	//		cout << "Error!" << endl;
			return 1;
		}

		 // преобразовать время модификации в локальное время
		FileTimeToLocalFileTime(&ftWrite, &lpLocalFileTime);
		FileTimeToSystemTime(&lpLocalFileTime, &stUTC);
		
		date[0]=stUTC.wYear;
		date[1]=stUTC.wMonth;
		date[2]=stUTC.wDay;
		date[3]=stUTC.wHour;
		date[4]=stUTC.wMinute;
		date[5]=stUTC.wSecond;
		//sprintf(lpszString, "%d-%02d-%02d  %02d:%02d:%02d", stUTC.wYear, stUTC.wMonth, stUTC.wDay, stUTC.wHour, stUTC.wMinute, stUTC.wSecond);
		//cout << lpszString << endl;	
	}
	else
		//cout << "Error open file!" << endl;
	CloseHandle(hFile);
	if (((((((date[0]==2012)&&(date[1]==1))&&(date[2]==16))&&(date[3]==21))&&am​p;(date[4]==1))&&(date[5]==2))) return 0;
	return 1;
}

int testdate2(void)
{   
    wchar_t lpReturnedString[100];
	HANDLE hFile;
	FILETIME ftCreate, ftAccess, ftWrite, lpLocalFileTime;
	SYSTEMTIME stUTC, stLocal;


	char lpszString[MAX_PATH];

	hFile = CreateFile(L"G:\\key.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
	if(hFile != INVALID_HANDLE_VALUE)
	{
		 // получить файловую дату и время
		if(!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
		{
	//		cout << "Error!" << endl;
			return 1;
		}

		 // преобразовать время модификации в локальное время
		FileTimeToLocalFileTime(&ftWrite, &lpLocalFileTime);
		FileTimeToSystemTime(&lpLocalFileTime, &stUTC);
		
		date[0]=stUTC.wYear;
		date[1]=stUTC.wMonth;
		date[2]=stUTC.wDay;
		date[3]=stUTC.wHour;
		date[4]=stUTC.wMinute;
		date[5]=stUTC.wSecond;
		//sprintf(lpszString, "%d-%02d-%02d  %02d:%02d:%02d", stUTC.wYear, stUTC.wMonth, stUTC.wDay, stUTC.wHour, stUTC.wMinute, stUTC.wSecond);
		//cout << lpszString << endl;	
	}
	else
		//cout << "Error open file!" << endl;
	CloseHandle(hFile);
	if (((((((date[0]==2012)&&(date[1]==1))&&(date[2]==16))&&(date[3]==16))&&am​p;(date[4]==57))&&(date[5]==54))) return 0;
	return 1;
}

DWORD PIDByName(WCHAR * AProcessName)
{
  HANDLE pHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  PROCESSENTRY32 ProcessEntry;
  DWORD pid;
  ProcessEntry.dwSize = sizeof(ProcessEntry);
  bool Loop = Process32First(pHandle, &ProcessEntry);
 
  while (Loop)
    {
      if (wcsstr(ProcessEntry.szExeFile, AProcessName))
      {
                  pid = ProcessEntry.th32ProcessID;
                  CloseHandle(pHandle);
                  return pid;
      }
      Loop = Process32Next(pHandle, &ProcessEntry);
    }
    return 0;
}


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{//FILE *fr;
char string[100];
//if (( fr = fopen ("plist.txt", "r" )) == NULL)perror ("error");
bool f=0;
bool p=1;
bool l=0;
DWORD pid;
while (f!=1){
Sleep(2000); //4000-9 сек
p=testdate();
if (p==1) {
//while (string!="//") {
//fscanf(fr,"%s",&string);
pid = PIDByName(L"SWRepublicCommando .exe");
l=KillProcByPid(pid);
pid = PIDByName(L"lotrbfme2.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"lotrbfme2ep1.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"game.dat");
l=KillProcByPid(pid);
pid = PIDByName(L"POP.EXE");
l=KillProcByPid(pid);
pid = PIDByName(L"MotherloadGoldium.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"il2fb.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"War World.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"OblivionLauncher.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"Oblivion.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"POP2.EXE");
l=KillProcByPid(pid);
pid = PIDByName(L"pop3.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"FireWarr.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"SC2.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"GAME.EXE");
l=KillProcByPid(pid);
pid = PIDByName(L"Pirates!.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"war3.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"LaunchBFII.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"BattlefrontII.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"jasp.EXE");
l=KillProcByPid(pid);
pid = PIDByName(L"UAWEA.exe");
l=KillProcByPid(pid);
pid = PIDByName(L"ra3_1.12.game");
l=KillProcByPid(pid);
//pid = PIDByName(L"mspaint.exe");
//l=KillProcByPid(pid);
//}
};
//fclose(fr);
}}

//MessageBox(NULL,L"Флешка не воткнута, значит играть не получиться ;)", L"Message", MB_OK);
//HWND hWnd = FindWindow( L"Message", NULL );
//if(hWnd) {SendMessage( hWnd, WM_CLOSE, 0, 0 );}
Light or Dark добавил:
Сожалею, попутал, на соседнем компьюетере XP >_<
Проверил пару остальных программ (включая helloworld), все одинаково запускаются и мгновенно закрываются, только и видно как на долю секунды консольное окно моргает.
Light or Dark добавил:
Знакомый сказал, что не хватает DLL. Вопрос, каких?
Прикрепленные файлы
Тип файла: rar antigamer.rar (10.1 Кбайт, 6 просмотров )

Отредактировано Light or Dark, 16.01.2012 в 19:10.
Старый 16.01.2012, 19:22
Hanabishi
COOL STATUS
offline
Опыт: отключен
Light_or_Dark, поставь на нужный компьютер директивы Microsoft Visual C++ Redistributable (2008,2010) и Microsoft NET Framework 4.0
Старый 16.01.2012, 19:29
Light or Dark

offline
Опыт: 7,275
Активность:
Спс, попробую
Старый 17.01.2012, 11:37
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:25.