Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> (Borland c++) Проблема с EnumWindows 
:(
    Опции темы
Welemir
Дата 5.9.2011, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 11.8.2009

Репутация: нет
Всего: нет



Код


#include <windows.h>
#include <conio.h>
#include <stdio.h>
#pragma hdrstop
#pragma argsused

LRESULT CALLBACK WndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam);
typedef bool (WINAPI *MYPROC)(HWND hWnd, LPCTSTR lpString,int nMaxCount);
LPARAM lParam;

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {

HMODULE hm = GetModuleHandle("user32");
MYPROC mp = NULL;
mp = (MYPROC) GetProcAddress(hm,"GetWindowTextA");

   char buf[100];
   mp(hWnd,buf,100);
   printf("%s",buf);
   return true;

  }

int main(int argc, char* argv[])

{

   EnumWindows((WNDENUMPROC) WndProc,lParam);
   getch();
   return 0;

}
//---------------------------------------------------------------------------



Не работает данный код.Где ошибка ? Мб в указателях этих ?
Всплыло также несколько вопросов:

1) Почему в борланде 6 нету либ библиотек ? Каждый раз обращаться к либе уже надоело...В вижуал студио такого нет.Где взять либы ?) 
2) Каков точный синтаксис использования тайпдефа для функций ? Нигде не смог найти,только из примеров =\

Это сообщение отредактировал(а) Welemir - 5.9.2011, 20:04
PM MAIL   Вверх
boostcoder
Дата 5.9.2011, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



может все же использовать какой-то адекватный компилятор? smile 
PM WWW   Вверх
Welemir
Дата 5.9.2011, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 11.8.2009

Репутация: нет
Всего: нет



А что,в борланде лажа ?)) Мне борланд сам нравится - он и грузится быстрее,и интерфейс,мм,адекватнее - попроще чем вижуалстудиоский))вообще ненавижу эту среду(вижуал студио) уже долгое время,поэтому и перешёл на борланд...Да и не переустанавливается он сейчас,зараза.После перезагрузки додохдит до 30-40% и пишет про кучу неустановленных компонентов,хотя я все папки поудалял с компа...(переустанавливал с образа) в общем геморрой ещё тот

Это сообщение отредактировал(а) Welemir - 5.9.2011, 20:43
PM MAIL   Вверх
boostcoder
Дата 5.9.2011, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(Welemir @  5.9.2011,  20:42 Найти цитируемый пост)
А что,в борланде лажа ?

полная. это самый убогий компилятор+IDE для вендуз.

Добавлено через 39 секунд
и тот факт что он вам нравится из-за беленьких рюшек - этого не изменит.
PM WWW   Вверх
Welemir
Дата 5.9.2011, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 11.8.2009

Репутация: нет
Всего: нет



В рот мне ноги! Вот как должно было быть:

EnumWindows((int (__stdcall *)())EnumWindowsProc,0);

А компилятор писал....думал прикол такой....Мсдн такого вообще не выдал ))А с WNDENUMPROC что случилось? ))

Всё-таки придется с вижуал студио чет делать =_=
PM MAIL   Вверх
volatile
Дата 5.9.2011, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(Welemir @  5.9.2011,  21:20 Найти цитируемый пост)
EnumWindows((int (__stdcall *)())EnumWindowsProc,0);

я бы сказал что это "ацкий кот", но это слишком мягко бы было сказано.
честно говоря, слов  нет...

Вот как должна выглядеть функция для EnumWindows.
Код

BOOL CALLBACK EnumWindowsProc ( HWND hwnd,  LPARAM lParam );
именно так и напишите её. И никаких приведений типов функций!

Добавлено через 3 минуты и 7 секунд
После того как вы напишите правильную функцию, вызывать надо так:
EnumWindows (EnumWindowsProc, lParam );


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0918 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.