Там в общем ооочень много текста, так что даже не поместилось все в самой консоли. Мне удалось попытаться скомпилировать код в IDE, но вылезло 6 ошибок:
в настройках криейтора кьют указан? Знакомые ошибки, только не помню, как я их починил. В данном случае у тебя не видится Qt компилеру. В переменных окружения путь до qt задан?
Люди добрые покажите простой пример чтение функцией ReadFile текстового файла для дальнейшего вывода этого текста в MessageBox
помогите пожалуйста Нужно поверх всех окон написать большими буквами текст. Ну а потом убрать. Приложение Win 32
http://www.rsdn.ru/forum/winapi/3551012.flat.aspx но принцип примерно такой Code: #include <windows.h> #include <stdio.h> extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow (); int main() { HWND hWindow = NULL; // дескриптор окна HDC hDeviceContext; // контекст устройства HPEN hPen; // дескриптор пера HGDIOBJ hObject; // дескриптор GDI объекта // получаем дескриптор окна hWindow = GetConsoleWindow(); if (hWindow == NULL) { printf("Get console window failed.\n"); return 1; } else printf("Cet console window is done.\n"); // получаем контекст устройства hDeviceContext = GetDC(hWindow); // создаем перо hPen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0)); // устанавливает перо hObject = SelectObject(hDeviceContext, hPen); // рисуем x MoveToEx(hDeviceContext, 100, 200, NULL); LineTo(hDeviceContext, 200, 100); MoveToEx(hDeviceContext, 200, 200, NULL); LineTo(hDeviceContext, 100, 100); //y MoveToEx(hDeviceContext, 300, 200, NULL); LineTo(hDeviceContext, 400, 100); MoveToEx(hDeviceContext, 300, 100, NULL); LineTo(hDeviceContext, 350, 150); //й MoveToEx(hDeviceContext, 500, 100, NULL); LineTo(hDeviceContext, 500, 200); LineTo(hDeviceContext, 600, 100); LineTo(hDeviceContext, 600, 200); MoveToEx(hDeviceContext, 540, 50, NULL); LineTo(hDeviceContext, 560, 70); LineTo(hDeviceContext, 580, 50); // востанавливает старый объект SelectObject(hDeviceContext, hObject); // освобождаем объекты DeleteObject(hPen); ReleaseDC(hWindow, hDeviceContext); return 0; }
ребят, с+/ подойдет для использования его в процессе программирования микросхем авр\пик ? или все же мне за ассемблер садиться ?
BastardFromHell спасибо Если кому надо вот что я накопал Code: void Draww(const char *string) { LOGFONT lf; HFONT hf; HDC hDeviceContext; // контекст устройства //HPEN hPen; // дескриптор пера HGDIOBJ old; // дескриптор GDI объекта // получаем контекст устройства (0 - hwid рабочего стола) hDeviceContext = GetDC(0); RtlZeroMemory(&lf, sizeof(lf)); lstrcpyA(lf.lfFaceName, "Arial"); lf.lfHeight = 42; lf.lfWeight = FW_NORMAL; lf.lfCharSet = RUSSIAN_CHARSET; hf = CreateFontIndirect(&lf); old = SelectObject(hDeviceContext, hf); RECT rectt; SetRect(&rectt, 0, 0, 1024, 768); HANDLE h=CreateEvent(0, true, false, "et"); DrawText(hDeviceContext, string, -1, &rectt, DT_LEFT); WaitForSingleObject(h,1000); // востанавливает старый объект SelectObject(hDeviceContext, old); // освобождаем объекты DeleteObject(hf); ReleaseDC(0, hDeviceContext); } Функция просто выводит текст на экран в левом верхнем углу. Только смотрите там строчка SetRect(&rectt, 0, 0, 1024, 768) экрано-зависимая, если надо то исправьте сами.
сейчас хотел длинну массвива посчитать, чёт не вышло - Code: #include <cstdio> #include <stddef.h> int main(void) { ptrdiff_t diff; int array[50]; for(int i = 0; i<50; i++) { array[i]=i+1; } printf("first: %d, last: %d, firstptr: %p lastptr: %p\n",array[0], array[49], array, &array[49] ); diff = &array[49] - &array[0]; printf("arraysize is: %d , diff: %p, sizeof(int): %d", diff/sizeof(int), diff, sizeof(int)); return 0; } вывод: Code: D:\dmc\bin>array_length.exe first: 1, last: 50, firstptr: 0012FE7C lastptr: 0012FF40 arraysize is: 12 , diff: 00000031, sizeof(int): 4 гдё я туплю?
Limitations on Raw Sockets On Windows 7, Windows Server 2008 R2, Windows Vista, and Windows XP with Service Pack 2 (SP2), the ability to send traffic over raw sockets has been restricted in several ways: TCP data cannot be sent over raw sockets. UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address). A call to the bind function with a raw socket is not allowed. ты гуглить не умеешь чтоли? сурс - http://msdn.microsoft.com/en-us/library/ms740548(VS.85).aspx
а ну вот, да разница между двумя указателями на int - это уже смещение, кратное int - отсюда получается 49, а не 49/4