如何在Delphi程序中使用API函数?

Annie1979 2003-06-04 02:55:43
您好:

1. 如何在Delphi程序中使用Win32 API函数?

2. 我在程序中调用ShellExecute API函数,编译时提示:undeclared identifier :'ShellExecute',请问为什么?

3. 有什么办法可以在程序中调用另外一个可执行文件?

Annie
...全文
104 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hilove 2003-06-08
  • 打赏
  • 举报
回复
如果想用一些常用的API,得USES SHELLAPI这个单元。
如果想调用多媒体的API,得USES MMSYSTEM这个单元。
。。。。。。等等
wycg_cnh20 2003-06-05
  • 打赏
  • 举报
回复
1.use
windows 或相应的单元
2.use shellapi;
3.winexec(看帮助)
fairychild 2003-06-05
  • 打赏
  • 举报
回复
uses shellapi;嘛

不过你可以按 ctrl+ 空格

把Code Complettion调出来

然后试着输入几个字母,
如果有的话就一定能 用,
没有的话就一定不能用就要你
自己声明了,
哈哈哈哈


我是阿水我用AK-47
Bellamy 2003-06-05
  • 打赏
  • 举报
回复
USES
SHELLAPI
xxl820 2003-06-05
  • 打赏
  • 举报
回复
在USE单元中声明一下需要用到的API函数就行了
zjy6631 2003-06-05
  • 打赏
  • 举报
回复
这要看看这是什么函数了,对于一般的api只要uses windows 就可以了。不过还是找不到,你就多use 几个单元,比如shellapi,shlobj,activeX等,如果还不行,那说明这些单元没有提供。这时,你就要查SDK帮助了。根据win32 SDK 的说明,把该函数用pascal 语法重新声明,然后引出即可。比如,
对于函数
SHGetFolderPath Function
msdn中是这样描述的,
Takes the CSIDL of a folder and returns the pathname.
Syntax
HRESULT SHGetFolderPath( HWND hwndOwner,
int nFolder,
HANDLE hToken,
DWORD dwFlags,
LPTSTR pszPath
);
Parameters介绍(略)..

在delphi 的单元接口中,声明
function SHGetFolderPath(hwndOwner : HWND;
nFolder : Integer;
hToken : HWND;
dwFlags : Word;
pszPath : PChar): Boolean; stdcall;
在delphi的单元实现中,如下实现该函数:
function SHGetFolderPath;external 'shell32.dll' name 'SHGetFolderPath' ;
其中可以看出,这里引出的是shell32.dll 中的SHGetFolderPath函数。

这里必须注意的是,操作系统提供的shell32.dll 必须有这个函数,或者会报错。
你可以用dumpbin 查看一下,shell32.dll 里是否有这个函数。
yifei1900 2003-06-04
  • 打赏
  • 举报
回复
常用的大多数API都在Delphi的Windows单元中就已经定义了。
通常只要在Use单元中加上:
windows
就行了。
如果有其它的API,可能需要加上其它一些单元。
firetoucher 2003-06-04
  • 打赏
  • 举报
回复
1
USES
WINDOWS,...//或者还有其他单元,关键看你是什么API

2
USES
SHELLAPI,

3 WINEXEC, CREATEPROCESS

1,184

社区成员

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

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