[|]光盘的弹入弹出会触发什么消息?

DEnzllWang 2003-10-10 09:41:02
是不是WM_DEVICECHANGE, 我用这个消息好像没有用.

...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pankun 2003-10-11
  • 打赏
  • 举报
回复
http://www.comprg.com.cn/wz048.htm
ly_liuyang 2003-10-11
  • 打赏
  • 举报
回复
就是那个

procedure TCDEvents.WndProc(var Msg: TMessage);
begin
if (Msg.Msg = WM_DEVICECHANGE) then begin
if FEnabled and (fNotifyMode = nmEvent) then
try
WMDeviceChange(TWMDeviceChange(Msg));
except
Application.HandleException(Self);
end
end
else
Msg.Result := DefWindowProc(FWindowHandle, Msg.Msg, Msg.wParam, Msg.lParam);
end;

function TCDEvents.GetFirstDriveLetter(unitmask : longint):char;
var DriveLetter : shortint;
begin
DriveLetter := Ord('A');
while (unitmask and 1)=0 do begin
unitmask := unitmask shr 1;
inc(DriveLetter);
end;
Result := Char(DriveLetter);
end;

procedure TCDEvents.WMDeviceChange(var Msg : TWMDeviceChange);
var lpdb : PDEV_BROADCAST_HDR;
lpdbv : PDEV_BROADCAST_VOLUME;
begin
(* received a wm_devicechange message *)
lpdb := PDEV_BROADCAST_HDR(Msg.dwData);
(* look at the event send together with the wm_devicechange message *)
case Msg.Event of
DBT_DEVICEARRIVAL : begin
if lpdb^.dbch_devicetype = DBT_DEVTYP_VOLUME then begin
lpdbv := PDEV_BROADCAST_VOLUME(Msg.dwData);
if (lpdbv^.dbcv_flags and DBTF_MEDIA) = 1 then
if Assigned(fAfterArrival) then
fAfterArrival(Self,
GetFirstDriveLetter(lpdbv^.dbcv_unitmask));
end;
end;
DBT_DEVICEREMOVECOMPLETE : begin
if lpdb^.dbch_devicetype = DBT_DEVTYP_VOLUME then begin
lpdbv := PDEV_BROADCAST_VOLUME(Msg.dwData);
if (lpdbv^.dbcv_flags and DBTF_MEDIA) = 1 then
if Assigned(fAfterRemove) then
fAfterRemove(Self,
GetFirstDriveLetter(lpdbv^.dbcv_unitmask));
end;
end;
end;
end;
内容概要:本文围绕基于多时段动态电价的电动汽车有序充电策略优化展开研究,提出一种结合动态电价机制的充电调度方法,旨在通过优化充电行为缓解电网负荷压力并降低用户充电成本。文中系统设计了多时段电价模型,深入分析其对电动汽车充电需求的引导机制,构建了兼顾经济性与电网友好性的优化调度模型,并基于Matlab平台进行算法实现与仿真验证。通过对比多种场景下的充电负荷曲线,验证了该策略在削峰填谷、提升可再生能源消纳能力以及实现电网与用户双赢方面的有效性。研究进一步考虑了用户响应行为的不确定性,增强了模型在实际应用中的鲁棒性与可行性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、智能电网、电动汽车等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市充电站、住宅区充电桩等集中充电管理场景,实现负荷的优化调度与电网支撑;②支持电网侧需求响应项目,提升电力系统运行效率与稳定性;③为政府及电力公司制定分时电价政策、推动车网互动(V2G)发展提供技术支撑与决策依据。; 阅读建议:读者在学习过程中应重点关注电价信号设计与充电优化模型之间的耦合关系,深入理解目标函数与约束条件的构建逻辑,结合Matlab代码掌握算法实现细节,并建议复现仿真案例以全面把握策略的运行机制与优化效果。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧