Hallo,
Delphi-Quellcode:
function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall;
begin
Result := 0;
case uMsg of
WM_CREATE:
begin
NID.Wnd := wnd;
Shell_NotifyIcon(NIM_ADD,@NID);
end;
WM_DEVICECHANGE:
CheckWMDeviceChange(?????);
...
procedure CheckWMDeviceChange(var Msg: TWMDeviceChange);
Wie man sieht soll die bei WM_DEVICECHANGE die entsprechene Prozedur aufgerufen werden, diese befindet sich in einer anderen
unit, wo sie bleiben muss. Wie übersetze ich die Einzelteile der TMessage in eine TWMDeviceChange ?? Wenn ich die Felder 1:1 kopieren bekomme ich logischerweise eine Integer/Pointer Beschwerde..
Danke!
zur Erinnerung:
Delphi-Quellcode:
type
TWMDeviceChange = record
Msg: Cardinal;
Event: UINT;
dwData: Pointer;
Result: LongInt;
end;
type
{ Generic window message record }
PMessage = ^TMessage;
TMessage = packed record
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;