Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 302
от 20.01.2006, 01:36

Администратор:Калашников О.А.
В рассылке:Подписчиков: 243, Экспертов: 40
В номере:Вопросов: 3, Ответов: 5


Вопрос № 33238: Здравствуйте, Эксперты! Нужно вытащить функцию из ДЛЛ`ки... Конкретно нужно вытащить из user32.dll, функцию SwitchToThisWindow( HANDLE hWnd , BOOL Restore ); и запустить в моем приложении... Как такое заделать?...
Вопрос № 33239: Добрый день. Я пишу программу на C#. Программа должна вывести прямоугольник. Синтаксических ошибок вроде как нет, но прямоугольника нет....
Вопрос № 33265: Добрый день. Подскажите, есть ли ограничение по длине строки передаваемой через Sockets?...

Вопрос № 33.238
Здравствуйте, Эксперты!

Нужно вытащить функцию из ДЛЛ`ки...
Конкретно нужно вытащить из user32.dll,
функцию SwitchToThisWindow( HANDLE hWnd , BOOL Restore );
и запустить в моем приложении...
Как такое заделать?
Отправлен: 14.01.2006, 12:27
Вопрос задал: Zitz (статус: 4-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Raptor1
Здравствуйте, Zitz!
НО !!! Не думаю что это хороший способ т.к.
Although you can access this function by using LoadLibrary and GetProcAddress combined in Microsoft Windows versions prior to Windows XP, the function is not accessible using the standard Include file and library linkage. The header files included in Windows XP Service Pack 1 (SP1) and Windows Server 2003 document this function and make it accessible using the appropriate Include file and library linkage. However, this function is deprecated and not intended for general use. It is recommended that you do not use it in new programs because it might be altered or unavailable in subsequent versions of Windows
// прототип функции Переключения окна
typedef void (__stdcall *SwitchToThisWindow)(HWND, BOOL);
HINSTANCE hm=::LoadLibrary("user32.dll");
SwitchToThisWindow pSwitch;
pSwitch=(SwitchToThisWindow)::GetProcAddress(hm,"SwitchToThisWindow");
pSwitch(hwndFirst,FALSE);
FreeLibrary(hm);
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 14.01.2006, 13:34
Оценка за ответ: 5
Комментарий оценки:
Я не особо шпрехаю по вражески... Но вроде как написано что в будующих версиях винды такой функции может и не быть, так? Если нет скинь пожалуйста перевод в форум...
Ну по крайней мере она срабатывает, но проблему мою не решает ;.(..
Так же как и
::SetActiveWindow(hwndFirst);
::SetForegroundWindow(hwndFirst);
::SetFocus(hwndFirst);
Очень интересно отчего не работает...
Но все по прежнему фокус остается у эксплорера, а мое приложение мигнет три раза и теряет его...

Отвечает: DoubleV
Здравствуйте, Zitz!
Можно попробывать сконвертировать динамическую библиотеку в статическую. И запихать ее в свою прогу. Даже есть прога "DLL to Lib" которая должна это делать, но что-то там точно не так просто.

p.s Сам я этого не делал, так что все это только теоретически.
Ответ отправил: DoubleV (статус: 2-ой класс)
Отправлен: 14.01.2006, 17:14

Отвечает: NET
Здравствуйте, Zitz!
А можно посмотреть фрагмент кода, который отвечает за это всё?
Ответ отправил: NET (статус: 2-ой класс)
Отправлен: 14.01.2006, 18:45


Вопрос № 33.239
Добрый день. Я пишу программу на C#. Программа должна вывести прямоугольник. Синтаксических ошибок вроде как нет, но прямоугольника нет.

Приложение:

Отправлен: 14.01.2006, 12:37
Вопрос задал: psevdo (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: koshi
Здравствуйте, psevdo!
Дело в том, что вы создаете только структуру прямоуголник... это просто структура данных, которая задает его координаты. Чтобы его нарисовать, нужно создать контекст и воспользоваться спец функциями рисования см. приложение - не проверял, но вроде бы работать должно))

Приложение:

---------
Don't worry by groovy

Ответ отправил: koshi (статус: 3-ий класс)
Отправлен: 14.01.2006, 15:35


Вопрос № 33.265
Добрый день. Подскажите, есть ли ограничение по длине строки передаваемой через Sockets?
Отправлен: 14.01.2006, 20:35
Вопрос задал: Dadrum (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Zitz
Здравствуйте, Dadrum!

Вот так записано в МСДН, думаю это значит что нельзя паслать пакет размером больше, чем максимальный пакет в данной подсети. А узнать его размер можно из структуры WSADATA, которую возращает функция AfxSocketInit

Приложение:

---------
Успех неизбежен

Ответ отправил: Zitz (статус: 4-ый класс)
Отправлен: 14.01.2006, 21:02


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное