Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Определение изменений устройств 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 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
6-37239
nickolayLI
2002-11-12 13:51
2003.01.13
Солько подсетей в локалке


3-36956
DiLLeR
2002-12-17 14:38
2003.01.13
Delphi6 + QReport проблема, может кто сталкивался ...


3-36926
Дот
2002-12-17 16:42
2003.01.13
Table corrupt other than header


3-36984
lejik
2002-12-19 08:11
2003.01.13
ReportBuilder


1-37091
u96
2003-01-03 16:02
2003.01.13
утечка памяти, помогите, пожалуйста