当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 我个人认为,Delphi 是当今最好的 Windows 可视化开发工具。
 

 

 ·收藏夹函数     »显示摘要«
    摘要: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); ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE