摘要:dll 文件:shdocvw.dll
procedure doorganizefavdlg(h:hwnd;path:pchar);stdcall;external shdocvw.dll;
第二个参数指定收藏夹的位置,如果第二个参数为nil的话,默认ie得收藏夹位置。
addurltofavorites
doaddtofavdlg
doaddtofavdlgw
dofiledownlo......
摘要:var wnd:hwnd;
begin
wnd := getdesktopwindow;
wnd := findwindowex(wnd, 0, progman, nil);
wnd := findwindowex(wnd, 0, shelldll_defview, nil);
wnd := findwindowex(wnd, 0, syslistview32, nil);
......
Win32 API 使用的特殊情况 我个人认为,delphi 是当今最好的 windows 可视化开发工具.
其种种特点令开发如虎添翼.但要想发挥出 delphi 真正的内含性能 【程序编程相关:
如何在Delphi中使用资源文件】 【推荐阅读:
编写通用的程序更新模块】
比如开发控件,实现一些特殊的功能,就必须直接调用 win32 api. 【扩展信息:
获取打印机队列的状态信息】
win32 api 主要包含在 windows95/98/nt/2k 的系统动态连接库中
如 kernel32.dll.user32.dll.gdi32.dll.shell32.dll 等等
通常情况下 我们只要在代码的 uses 部分加入 windows 等单元
的声明即可像使用 delphi 内置函数一样的使用 win32 api 函数,十
分方便.
但是,这样使用有时候会带来一些意想不到的麻烦.具体如下:
众所周知,windows 的版本十分多,仅 win95 就有 win95a,win95b
等等,而它们对 win32 api 的实现是有细微差别的,尽管它们都是
win32 平台.有一些 win32 api 函数在特定的 windows 版本中名称有
些许不同,或者根本就是是不存在的.
这样就带来了问题: delphi 的 windows 等单元是与当时最新的
win32 api 全集对应的,delphi 在编译的时候总是动态连接 windows
函数库(所有的 windows 编译型开发工具都是这样的).编译时毫无
问题的代码,其可执行文件在特定的 windows 平台上就无法使用.
由于 windows 的可执行文件加载机制,在 delphi 集成环境中是
无法跟踪这样的潜在问题的.下面举两个例子:
例一:
win32 api 声明: ...
下一页 摘要:关闭显示器:
sendmessage(application.handle, wm_syscommand, sc_monitorpower, 0);
打开显示器:
sendmessage(application.handle, wm_syscommand, sc_monitorpower, -1);
......