|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.12.2008, 00:02 | #1 |
Регистрация: 30.12.2008
Сообщений: 3
|
Вопрос по адресной арифметике и Message в консольных приложениях
Win32 Console Application, Visual Studio 2005
char DATA2[10]; //Создал массив,он заполнен необходимыми мне данными,часть элементов осталась по умолчанию char *DATA3;//Указатель DATA3=(char *) malloc(1);//Под указатель выделил 1 байт памяти DATA3=DATA;// Здесь вопрос: при присваивание указатель будет ссылаться на 1 байт информации? Или сам указатель будет вмещать в себя один байт адреса? Вот что я прочитал в книжке Шилдта, там такой пример int a[100]; int *p; p=(int*)malloc(50*sizeof(int)); Написано что выделяется память под 50 целых чисел, т.е. при присваивание p=a; по логике книжки указатель должен ссылаться на участок памяти в которой 50 чисел. ///////////////////////////////////////////////////////////////// Вопрос про получние Message в консоли HWND thisWnd=FindWindow(L"ConsoleWindowC lass", NULL); HWND hWnd = FindWindow(L"FineReader8MainWindowC lass", NULL ); MSG msg; while(1>0){ static HWND hNextViewer; hNextViewer=SetClipboardViewer(this Wnd); a=GetMessage(&msg,NULL, 0,0); Sleep(5000); if(msg.message==WM_DRAWCLIPBOARD){//Если идет сообщение об изменение буфера обмена printf("Press ENTER to take data from you buffer"); PostMessage(hNextViewer,NULL,NULL,N ULL); } Проблема в том что программа не реагирунт на сообщения постоянно лезет только одно с номером 49367, елси пишу GetMessage(&msg,hWnd, 0,0); программа вообще зависает |
31.12.2008, 01:51 | #2 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
В си не бельмесом (
Последний раз редактировалось capta1n; 31.12.2008 в 01:54. |
31.12.2008, 14:30 | #3 |
Регистрация: 30.12.2008
Сообщений: 3
|
В смысле??
|
31.12.2008, 14:44 | #4 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
Си не знаю, а на этом форуме не знаю как удалить сообщение
|
31.12.2008, 16:54 | #5 | |
Форумчанин
Регистрация: 17.11.2008
Сообщений: 233
|
Мда... Крутое у вас понимание...
Цитата:
P.S. так в какой, говорите, книге такие примеры хорошие??? А насчет второго... Что именно требуется от программы, т.е. что она должна "делать"? |
|
01.01.2009, 19:44 | #6 |
Регистрация: 30.12.2008
Сообщений: 3
|
Спасибо, я ошибся, действительно это пример утечки памяти) А если вот такой пример:
int *p; int a[100]; p=(int*)malloc(50*sizeof(int)); *p=*a;//Вроде бы разименованному указателю(на 50 чисел), присваивают значение массива(из 100 чисел). Массив это ведь адрес первого элемента //////////////////////////////////// По второй части. Вообще программа должна постоянна висеть в цикле. При изменение буфера(не работает) обмена должна начинаться некая его обработка(работает и извлекаеться и обрабатывается и обратно вносится, но проблема в том что если делать это без сообщения она на почти каждый момент будет открывать закрывать буфер обмена что не дает остальным программам работать с ним, поэтому я решил добавить сообщение) HWND thisWnd=FindWindow(L"ConsoleWindowC lass", NULL); HWND hWnd = FindWindow(L"FineReader8MainWindowC lass", NULL ); MSG msg; while(1>0){ static HWND hNextViewer; hNextViewer=SetClipboardViewer(this Wnd);//Ставим себя в очередь a=GetMessage(&msg,NULL, 0,0);//??Получаем ??ВСЕ?? сообщения Sleep(5000);//Техническая пауза для дебага)) if(msg.message==WM_DRAWCLIPBOARD){//Если идет сообщение об изменение буфера обмена printf("Press ENTER to take data from you buffer");//Тоже для дебага } Напомню что это консольное приложение, заранее спасибо) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перехват адресной строки браузера | Garacio_cain | Работа с сетью в Delphi | 4 | 23.10.2008 13:48 |
HTML,как заменить текст в адресной строке? | Ладушка | HTML и CSS | 13 | 28.08.2008 19:37 |
Message-ы | Altera | Общие вопросы Delphi | 9 | 15.02.2008 09:08 |
Send Message | _SERGEYX_ | Работа с сетью в Delphi | 5 | 30.10.2007 06:38 |
Как перехватить/узнать содержимое адресной сроки? | s-force | Работа с сетью в Delphi | 5 | 27.08.2007 10:39 |