windows系统的api怎么调用?

windows系统的api怎么调用?,第1张

看起来是这几个函数

DLL - Netapi32.dll

NET_API_STATUS NetScheduleJobAdd(

__in LPCWSTR Servername,

__in LPBYTE Buffer,

__out LPDWORD JobId

)

NET_API_STATUS NetScheduleJobDel(

__in LPCWSTR Servername,

__in DWORD MinJobId,

__in DWORD MaxJobId

)

NET_API_STATUS NetScheduleJobEnum(

__in LPCWSTR Servername,

__out LPBYTE* PointerToBuffer,

__in DWORD PreferredMaximumLength,

__out LPDWORD EntriesRead,

__out LPDWORD TotalEntries,

__in_out LPDWORD ResumeHandle

)

NET_API_STATUS NetScheduleJobGetInfo(

__in LPCWSTR Servername,

__in DWORD JobId,

__out LPBYTE* PointerToBuffer

)

codeproject上有个com接口的实现

 API编程跟windows编程区别:

1.API是控制台应用程序,就是运行时出现一个就像dos黑色窗口,而widows程序设计是窗口应用程序,就像WORD,记事本等这样的有窗口框架的程序设计。

编程思想不同,API语言是面向过程的,可以理解为顺序的执行;而Widows是面向过程的,事件触发,模块化的编程思想,如果学过VB的话就很容易理解。

另外API的程序入口函数是main,windows程序的入口函数是Winmain,windows定义了很多句柄和宏定义,刚开始理解起来有些困难,比如int WINAPI WinMain (HINSTANAPIE hThisInstanAPIe, HINSTANAPIE hPrevInstanAPIe, LPSTR lpszArgument, int nFunsterStil) 。

2.windows编程和API语言的主要区别是,API++不是专门为Windows程序所发明的语言,其它平台,如MaAPI和Linux都可以用API++,只不过Visual API++在它们上没办法运行就是了。另外一点,API++不是Java,不带自己的图形界面设计包。所以面向用户的界面要由其它程序来完成,这才是VAPI的主要目的,单纯用API++是不行的。

简单地说就是利用windows的应用程序接口(API),编写windows程序。如果用API,就是直接用这些API。如果用API,就用MFAPI(微软基础类库,封装了windows 的API)。

这跟execvp函数的实现方式有关:

int execvp(const char *file ,char * const argv [])

execvp()会从PATH 环境变量所指的目录中查找符合参数file的文件名,找到后便执行该文件,然后将第二个参数argv传给该欲执行的文件。如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno中。

之所以显示“fail to exec”,是因为在PATH环境变量所指的目录中没有名为“hello”的程序。建议进行如下 *** 作:

1、运行“echo $PATH”,查看一下PATH环境变量指向那些目录

2、编写一个输出“hello world”的程序,并命名为hello,即执行命令:

gcc -o hello hello.c

3、把名为”hello“的程序拷贝到PATH变量所指的其中一个目录中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12088662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存