![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с WM_DEVICECHANGE...
Anonim © (2004-12-06 06:21:00)Пытаюсь обрабатывать это сообщение, но ничего не получается, сообщение не генерируется... или не посылается моему приложению. При всем этом остальные сообщения нормально передаются мне. Может кто встречался с такой проблемой?
abc (2004-12-06 17:09:00) [1]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
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;
end.
всё работает