Вопрос № 30605: Здравствуйте! Хотел бы узнать о возможности отслежевания такого события в Windows 98 как установка носителя usb-flash, т.е. появление в системе нового диска.
А также интересует вопрос - как узнать подключен ли диск к системе (т.е. есть диск E: в...Вопрос № 30610: Как на winapi реализовать простую кнопку? В книгах Румянцева и Петцольда про это написано немного криво, то есть описан не совсем, так как бы мне хотелось. В итоге, посмотрел примеры, попробовал создать простую кнопку. Компилятор не ругается, но резу...
Вопрос № 30.605
Здравствуйте! Хотел бы узнать о возможности отслежевания такого события в Windows 98 как установка носителя usb-flash, т.е. появление в системе нового диска.
А также интересует вопрос - как узнать подключен ли диск к системе (т.е. есть диск E: в системе или нет). Надеюсь на ответы! Спасибо.
Отправлен: 01.12.2005, 22:18
Вопрос задал: NewBot (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Raptor1
Здравствуйте, NewBot!
Здравствуйте, NewBot!
>> как узнать подключен ли диск к системе
GetLogicalDrives, GetLogicalDriveStrings, GetDriveType
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 02.12.2005, 23:04
Вопрос № 30.610
Как на winapi реализовать простую кнопку? В книгах Румянцева и Петцольда про это написано немного криво, то есть описан не совсем, так как бы мне хотелось. В итоге, посмотрел примеры, попробовал создать простую кнопку. Компилятор не ругается, но результат нулевой. Кнопки я не вижу.
Код обычного пустого окна, думаю его приводить не стоит, а код для создания кнопки привел в приложении.
Приложение:
Отправлен: 01.12.2005, 23:19
Вопрос задал: RedDevil (статус: 2-ой класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: azat
Здравствуйте, RedDevil!
А зачем Вам это?
(HINSTANCE) GetWindowLong(hWnd, GWL_HINSTANCE)
или
((LPCREATESTRUCT) lParam)->hInstance
Поставьте вместо него NULL
Ответ отправил: azat (статус: 5-ый класс)
Отправлен: 02.12.2005, 00:15 Оценка за ответ: 5 Комментарий оценки: Все, теперь работает.
Отвечает: Jadd
Здравствуйте, RedDevil!
В приложении пример, который создает кнобу. Замечу лишь, что запись (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) необходима в версиях Windows 95/98/Me для передачи хэндла модуля, с которым связано окно, в Windows NT/2000/XP - здесь нужно NULL ставить, т.к. этот параметр игнорируется.
Удачи.
Приложение:
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 02.12.2005, 08:51 Оценка за ответ: 5 Комментарий оценки: Спасибо за разьяснения.
Отвечает: Raptor1
Здравствуйте, RedDevil!
У меня этот код работает, при запуске из OnInitDialog (WM_INITDIALOG)
CreateWindow("BUTTON","My button", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE, 5,5,100,30,m_hWnd, NULL, (HINSTANCE) GetWindowLong(m_hWnd, GWL_HINSTANCE), NULL);
Возможно дело в том, что когда ты пытаешься создать кнопку еще не создано главное окно, т.е. m_hWnd не инициализирован.
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 02.12.2005, 23:03 Оценка за ответ: 5 Комментарий оценки: Это наверное потому, что ты используешь ОС 9х, вот что, написал мне Jadd: "запись (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) необходима в версиях Windows 95/98/Me" А как раз в NT этот параметр должен быть NULL.