当前位置:首页 » 编程语言 » c语言api编程
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言api编程

发布时间: 2022-04-30 21:18:21

A. c语言编程的实质是不是调用库函数和API

你说得对。当你在使用printf的时候,实际上printf也是调用系统API而已。。。
因此!!!不调用系统函数会导致你的程序代码量激增。而且库函数一般都是问题的最优解决方案,所以调用系统函数完全是狠又必要的。
当你要搞很深入的开发的时候不可能不调用系统库函数的

B. c 语言的 API 是什么

API是操作系统为我们准备的函数,你可以加入头文件,然后调用它们,至于编程实例你可以到:
http://tieba..com/f?kw=erbi_lucifer&fr=itb_favo&fp=favo#
这里是我的一些编程的实例,都有重点讲解和程序源代码……希望你喜欢。O(∩_∩)O哈哈~

各类编程实例……

C语言windows编程基础之sdk窗体编写模板
C语言windows编程基础之创建项目(vs2010)
【C语言】【windows】--获取文件属性的信息
【C语言】【windows】--注册表--开机启动程序
【C语言】【windows】--圣诞礼物--舞动窗体
【C语言】【windows】--电子时钟编写
【C语言】【windows】--记事框编写
【C语言】【windows】--录音器编写
【C语言】【windows】--获取主机名和IP地址
【C语言】【windows】--进制转换器

C. C语言如何API编程

1、windows平台提供的api平台,只要开发平台支持api接口,一律都支持,并且效果一样,不区分语言,好多开发平台的内置控件及类和函数都是调用了api。
2、应用程序编程接口,简称API(Application Programming Interface),就是软件系统不同组成部分衔接的约定。
随着软件规模的日益庞大,我们需要把复杂系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。 A reference implementation of an API is the implementation created by the designer of the API, or one which other implementations of the API are expected to be compared against.
例如,图形库中的一组API定义调用绘制图标函数的方式,以于屏幕上显示图标。程序中调用,编译时连接到这组API,执行时便调用API的实现(库)来显示图标。
操作系统的API可用来分配内存或访问文件。许多系统与应用程序提供API接口与实现,比如图形系统,数据库,网络,Web服务,甚至于某些游戏。
一组API经常是一套软件开发工具包(SDK)的一部分。SDK亦可包含其它工具亦或至于硬件,两个术语并不完全等同.
API有诸多不同设计。用于快速执行的接口通常包括函数,常量,变量与数据结构。也有其它方式,如通过解释器,或是提供抽象层以遮蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。

D. C语言api函数的使用

HWND hwnd = FindWindow("搜狗",NULL);//把那个搜狗换成它的窗口标题就可以了
if(hwnd==NULL)
{
printf("error");
exit(0);
}
SendMessage(hwnd,WM_CLOSE,0,0);//关闭 向它发送窗口结束消息

E. 用C语言直接用API编程,可以开发大型程序吗

看是什么类型的大型程序。
一般涉及处理业务的,用C++比较多。因为面向对象编程语言跟容易贴合业务。如果是做一些实用工具,算法,可以用C

F. C语言可以用来做windows API编程吗

c语言可以做,可以调用windows的api函数来编写程序,没问题的,像那些c语言高级编程实例,就是用的api

G. 用C语言进行API编程

当然有用的啊,现在一般据说写的驱动据是用C写的(以前用汇编写的,现在也有人用汇编写),越是底层的编程语言,它的执行效率就越高,现在大多的语言封装的太厉害了,但效率比较低的,好多的危险的操作都给滤去了,而C语言就没有啊,世界上的编程语言用的最多的有C/C++,他们都很靠前的,这么多年都没变了,说明人家牛B啊

H. windows api编程与C语言什么联系

windows api是基于WINDOWS操作系统框架下做应用软件的一种函数调用方式,也就是说你只能看到它的函数名和参数,但是看不到函数内部的程序。你根据MSDN上的描述去调用相应功能的API函数来完成你的相关应用函数。当然,在使用VC++时有比调用API更方便的方法,那就是使用相关的类。具体的方式,楼上给出了一个最好的学习方案:孙鑫VC++视频和书,只要有一定的C语言基础就能够理解如何进行应用软件的编写。视频和书在网上都能够下的到。当然,你说的再学校学习的那些C语言基础是非常有用的,当你进行深入的编程时就能够体会的到,我们经常戏称谭浩强为强哥,就是因为即使是编程老手,有的时候都不得不去翻阅一下强哥的书,里面的内容虽然平实,但却非常基础和关键!

I. c语言 api编程的一个问题。

很多地方有错误,最明显的几处:
1、EnumProcesses(processes_array,sizeof(processes_array),&processes_sumbytes);
sizeof(processes_array)是整个数组的总字节数,这里传入的应该是元素个数
2、for(i=0;i<processes_sumbytes/sizeof(processes_array);i++)
同上,应该是processes_sumbytes/sizeof(processes_array[0])
3、EnumProcessMoles(processes_handle,hmole_array,sizeof(hmole_array),sum_mole_bytes);
sum_mole_bytes没赋值
4、m=strcmp(to_be_terminated,base_name_buffer);
strcmp无法忽略大小写进行名称比较
5、if(m=0)
。。。
贴上我的实现代码,已经测试可行:
#include
<windows.h>
#include
<psapi.h>
#include
<stdio.h>
#define
N
1024
int
WINAPI
WinMain
(HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
PSTR
szCmdLine,
int
iCmdShow)
{
DWORD
pa[N],
cbNeeded,
i,
cbNeeded2;
HANDLE
hProcess;
HMODULE
hMole;
char
buffer[512];
char*
target
=
"qq.exe";
BOOL
flag
=
FALSE;
if(!EnumProcesses(pa,
N,
&cbNeeded))
{
puts("error
while
enumerating
processes.");
return
0;
}
for(i
=
0;
i
<
cbNeeded/sizeof(pa[0]);
++i)
{
if(!(hProcess
=
OpenProcess(PROCESS_ALL_ACCESS,
FALSE,
pa[i])))
{
printf("open
process
PID:%d
failed\n",
pa[i]);
continue;
}
if(!EnumProcessMoles(hProcess,
&hMole,
sizeof(hMole),
&cbNeeded2))
{
printf("enum
process
moles
failed
PID:%d\n",
pa[i]);
continue;
}
GetMoleBaseName(hProcess,
hMole,
buffer,
sizeof(buffer));
if(lstrcmpi(target,
buffer)
==
0)
{
TerminateProcess(hProcess,
0);
flag
=
TRUE;
break;
}
}
if(flag)
printf("target
process:
%s
successfully
terminated.",
target);
else
puts("terminate
process
failed.");
return
0;
}

J. 用C语言写api编程,新建一个工程后,这些出现的代码是什么意思

这个你得先把windows api 程序设计 基本的 一些知识搞明白
这只是 给你一个程序的基本骨架 方便你 往上加 属于你的东西

先 找 WinMain函数 整个windows程序的入口....

#include "main.h"
#include "dialogs.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
return(0);
}
(搜索msdn dialogbox其实也是个宏....
DialogBox

The DialogBox macro creates a modal dialog box from a dialog box
template resource. DialogBox does not return control until the specified
callback function terminates the modal dialog box by calling the EndDialog function. The DialogBox
macro uses the DialogBoxParam
function.

看 调用了DialogBox ,这个函数 又是干嘛的呢 看它的第二个参数 和对话框资源有关系
看他的最后一个参数看样子 是个函数名,即回调函数的名字
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
//BEGIN MESSAGE CRACK
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
//END MESSAGE CRACK
}

return FALSE;
}
HANDLE_MSG是神马 ,查一下 windowsx.h你就会发现 他是个 带参数的宏

分析一下 第三个吧
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);

#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn))

其实就是个case语句 ....

case (WM_CLOSE): return HANDLE_##WM_CLOSE((hwnd),(wParam),(lParam),(fn))

case (WM_CLOSE): return HANDLE_WM_CLOSE((hwnd),(wParam),(lParam),(fn))

继续找头文件 里 HANDLE_WM_CLOSE
找到
#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
进一步
case (WM_CLOSE): return ((fn)(hwnd),0)

即case (WM_CLOSE): return ((Main_OnClose)(hwnd),0);
逗号表达式 看出来没有
实际效果也就是
case WM_CLOSE:
Main_OnClose)(hwnd)
return 0;
看出来这就是个windows 窗口回调函数(消息响应函数WinProc)中的CLOSE消息处理的样子了吧

M$给定义一堆宏 把程序搞得看起来更简洁了 吧.........
以上分析 建立在 熟悉C语言宏的 和 windows API 窗口程序【 注册窗口类 、创建窗口
消息循环 、回调响应、消息机制……】如果没看懂,先去把windows程序设计第五版
如鹏网C语言干大事、中科院杨力祥windwos高级编程 看一看