ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

22.02.2010, 00:32
|
|
Познающий
Регистрация: 05.02.2010
Сообщений: 59
Провел на форуме: 360122
Репутация:
41
|
|
google GDI
|
|
|

22.02.2010, 01:03
|
|
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме: 146826
Репутация:
17
|
|
Мне бы функцию чтоли... Я новичок сам врядли разберусь.
|
|
|

22.02.2010, 02:18
|
|
Познающий
Регистрация: 05.02.2010
Сообщений: 59
Провел на форуме: 360122
Репутация:
41
|
|
Сообщение от agrofyl2
Мне бы функцию чтоли... Я новичок сам врядли разберусь.
http://www.rsdn.ru/forum/winapi/3551012.flat.aspx
но принцип примерно такой
Код:
#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; 22.02.2010 в 02:45..
|
|
|

22.02.2010, 08:37
|
|
Новичок
Регистрация: 30.01.2009
Сообщений: 23
Провел на форуме: 39927
Репутация:
2
|
|
ребят, с+/ подойдет для использования его в процессе программирования микросхем авр\пик ? или все же мне за ассемблер садиться ?
|
|
|

22.02.2010, 09:14
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
С подойдет.
|
|
|

22.02.2010, 13:25
|
|
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме: 146826
Репутация:
17
|
|
BastardFromHell спасибо
Если кому надо вот что я накопал
Код:
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) экрано-зависимая, если надо то исправьте сами.
Последний раз редактировалось agrofyl2; 22.02.2010 в 17:19..
|
|
|

22.02.2010, 14:57
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
как обстоят дела в windows 7 с сырыми сокетами? Можно как-то завести их?
|
|
|

22.02.2010, 15:55
|
|
Познающий
Регистрация: 05.02.2010
Сообщений: 59
Провел на форуме: 360122
Репутация:
41
|
|
сейчас хотел длинну массвива посчитать, чёт не вышло -
Код:
#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;
}
вывод:
Код:
D:\dmc\bin>array_length.exe
first: 1, last: 50, firstptr: 0012FE7C lastptr: 0012FF40
arraysize is: 12 , diff: 00000031, sizeof(int): 4
гдё я туплю?
Последний раз редактировалось BastardFromHell; 22.02.2010 в 17:04..
|
|
|

22.02.2010, 17:33
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
похожу тут
diff/sizeof(int)
|
|
|

22.02.2010, 17:53
|
|
Познающий
Регистрация: 05.02.2010
Сообщений: 59
Провел на форуме: 360122
Репутация:
41
|
|
Сообщение от ntldr
как обстоят дела в windows 7 с сырыми сокетами? Можно как-то завести их?
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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|