Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Вниз

Определение изменений устройств Plug&Play   Найти похожие ветки 

 
SYNthetic   (2002-11-23 21:30) [0]

Мастера, помогоите плиз, в FAQ надыбал такой исходник для обределения изменений устройств в системе:
type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private declarations }
procedure WMDeviceChange(var Message: TMessage);
message WM_DEVICECHANGE;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
const DBT_DEVICEARRIVAL = $8000;
const DBT_DEVICEQUERYREMOVE = $8001;
const DBT_DEVICEQUERYREMOVEFAILED = $8002;
const DBT_DEVICEREMOVEPENDING = $8003;
const DBT_DEVICEREMOVECOMPLETE = $8004;
const DBT_DEVICETYPESPECIFIC = $8005;
const DBT_CONFIGCHANGED = $0018;
procedure TForm1.WMDeviceChange(var Message: TMessage);
var
s : string;
begin
{Do Something here}
case Message.wParam of
DBT_DEVICEARRIVAL :
s := "A device has been inserted and is now available";
DBT_DEVICEQUERYREMOVE: begin
s := "Permission to remove a device is requested";
ShowMessage(s);
{True grants premission}
Message.Result := integer(true);
exit;
end;
DBT_DEVICEQUERYREMOVEFAILED :
s := "Request to remove a device has been canceled";
DBT_DEVICEREMOVEPENDING :
s := "Device is about to be removed";
DBT_DEVICEREMOVECOMPLETE :
s := "Device has been removed";
DBT_DEVICETYPESPECIFIC :
s := "Device-specific event";
DBT_CONFIGCHANGED :
s:= "Current configuration has changed"
else s := "Unknown Device Message";
end;
ShowMessage(s);
inherited;
end;
Подскажите только как пользоваться этой процедцрой? Нужно просто чтобы прога определяла внешний модем, если при загрузке ОС он был выключен.


 
Morfein   (2002-11-25 21:29) [1]

Гы )))
Что значит, как ей пользоваться??
Это ж получился обработчик сообщения WM_DEVICECHANGE...
Вот эта процедура(Tform1.WMDeviceChange) и вызовется, когда
система пошлёт твоему окну сообщение WM_DEVICECHANGE!
А пошлёт или нет - это уже другой вопрос...

Если хочешь определить модем, попробуй функцию RasEnumDevices() из wininet.dll. Она выдаёт список сетевых девайсов... Мож для твоего случая прокатит, попробуй...



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-36976
qwerty
2002-12-17 00:30
2003.01.13
Длинные текстовые поля в гриде


1-37204
TCrash
2002-12-30 12:53
2003.01.13
Отловить закрытие формы


1-37082
qwerty2
2003-01-03 16:32
2003.01.13
Как управлять с клавиатуры компонентом TRadioGroup?


14-37306
smok_er
2002-12-23 02:00
2003.01.13
MultiLanguage Interface


6-37235
Mischka
2002-10-31 10:35
2003.01.13
подключение по локалке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский