Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2014, 14:11   #1
Dreemsong
Новичок
Джуниор
 
Регистрация: 12.12.2014
Сообщений: 2
По умолчанию error LNK2001: неразрешенный внешний символ "_main"

Приветствую вас форумчане, решил написать DLL инжектор по данному видео ссылка
Делал один в один что и автор, то есть: Создать>проект>Visual C++>Win32>Консольное приложение Win32> и в дополнительных параметрах поставил пустой проект, после поменял в параметрах проекта на мультибайтовую кодировку...

В итоге вышли 2-е ошибки:



Код:
#include <Windows.h> // Подключаем WinAPI
#include <TlHelp32.h> // Нужен чтобы делать снимок всех процессов
#include <iostream> // Вывод в нашей консольки
#include <io.h> // Он нужен чтобы проверять файл DLL на наличие - то есть, есть DLL или нет!.


DWORD GetProcessByname (char* process_name) //Функция которая будет получать ID нашего процесса по его имени.

{
    HANDLE snapshot = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); // Делаем снимок процесса.
	PROCESSENTRY32 process; //Структурка в которую загоняем информацию о найденном процессе.
	DWORD proc_id = 0; //Создаем переменную которую будем возвращать.
	if (Process32First(snapshot, &process)) //Грубо говоря если есть наш процесс в списки мы делаем следующие то обрабатываем его.
	{
		while(Process32Next(snapshot, &process)) //Обрабатывать процессы пока есть следующие.
		{
			//Сравнивает имя процесса которое у нас в структуре - с тем которое нам нужно.
			if (_stricmp(process.szExeFile, process_name) == 0) // Сравнение строк.
			{
				proc_id = process.th32ProcessID;
				break; // Выходим из цикла.
			}
		}
	}
  CloseHandle(snapshot);
  return proc_id;
}

bool FileExist(DWORD pID,char* name) //Опишем функцию проверки существование файла.
{
	return _access(name, 0) != -1;
}

int Main ()

    {

	char process_name[32];
	printf("Enter process name:");
	scanf_s("%s", process_name);
	DWORD pID = GetProcessByname(process_name);
	printf("Waiting %s for start...\n",process_name);
	for (;;Sleep(50))
    {
      if (pID == 0)
      pID = GetProcessByname(process_name);
      if (pID != 0)
	  break;
	}
	printf("%s found(pID = %X)!\n"), process_name, pID;
	system("PAUSE");
}
Dreemsong вне форума Ответить с цитированием
Старый 12.12.2014, 14:36   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Main и main - это две абсолютно разные функции
p51x вне форума Ответить с цитированием
Старый 12.12.2014, 14:40   #3
Dreemsong
Новичок
Джуниор
 
Регистрация: 12.12.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Main и main - это две абсолютно разные функции
Спасибо огромное за внимательность, чем я и ненавижу правильный регистр самого языка
Dreemsong вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Rectangle::~Rectangle(void)" (??1Rectangle@@QAE Dimka-novitsek Общие вопросы C/C++ 4 15.10.2014 13:34
С чем связаны ошибки в C++: "ссылка на неразрешенный внешний символ" Vladislavv Общие вопросы C/C++ 11 03.09.2014 20:04
проблема линкера "ссылка на неразрешенный внешний символ" denrubun Общие вопросы C/C++ 4 26.02.2013 14:12
error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup Zhivu igrayuchi Visual C++ 2 25.12.2010 16:48
Ссылка на неразрешенный внешний символ(error LNK2019) TheWanderer Общие вопросы C/C++ 2 07.08.2009 19:58