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

c语言winapi

发布时间: 2022-01-12 07:53:12

❶ 问一下在c语言中如何使用windows api 函数

#include <windows.h>

❷ Windows程序设计与C语言的主要区别是什么

一、主体不同

1、Windows程序设计:基于MFC类库进行的程序开发设计。

2、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

二、特点不同

1、Windows程序设计:以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

2、C语言:仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性。


三、优缺点不同

1、Windows程序设计:包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。专心的考虑程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性。

2、C语言:依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。



❸ windows的API是不是专门提供给c++的c语言能不能用这些API进行windows编程

做程序的话,首先要明确自己是在什么操作系统上做程序.很多人都没有这个概念,因为我们平时用的就是windows操作系统.可实际上还有UNIX/linux操作系统这一块非常重要的程序阵营.
其实,windows的API就是让程序员编写与windows操作系统有关的程序,象有窗口界面的这种程序,或是基于windows机制的程序,如利用windows内存管理机制的程序,象exel就是非常注重内存分配的问题.
只要一般和这两点有关的就要用到windows的API.其实API可以简单的理解为系统函数.就是我们用函数来写程序,就这方面而言和printf这样的函数使用是一样的.
windows API函数是微软让程序员来开发在windows下使用的程序,因此只要你的程序在windows下运行,就可以使用windows API.无论是VB,VC, DELPHI都可以使用.API是与语言无关的,当然在使用语法上会有些小小的变换.有兴趣你可以看下VB和VC对API使用的不同之处.
你说的C语言能不能用这些API进行编程呢?我觉得当然能喽,VC不就是吗?为什么楼上的都说不能,很奇怪.
至于windows的API是不是专门提供给c++的?我的回答还是那句,任何语言都可以使用API,因为API与语言无关的,只要是在windows下运行,都直接或间接的调用了windows API.它只是个函数或者准确点是个接口(interface).
微软在他的C++里早已经把windows API给用进去了,那你说windows API能不能提供给C++呢.微软集成的API和C++就是我们耳熟能详的MFC!
kk8212478的回答,楼主还是忽略吧!

❹ 急 如何编写c程序来调用WINDOWS API函数来打开一个文档。。

照我说的做: 点菜单中的project->settings 来设定你这个工程的属性。 在打开的属性页中点击Link选项卡。 Category选项选择General(这个就是默认的) 下面第二个栏(Object/library moles)里写下你需要的lib库,多个库以空格分隔 例如: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib msimg32.lib winmm.lib 注意:这个方法添加以后,如果你切换了左侧debug/release的选项。还需要重新添加一下才可以。 此外楼上兄弟的方法比较简便,不仅只在VC中适用。 .h的文件就直接include 就行。

❺ c语言中怎么调用windowsAPI函数,

c++调用windows API方法非常方便,只要在文件的开头包含了相应的头文件就可以直接调用了.下面给一个简单的例子:
#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途
#include <windows.h> // 包含MessageBox函数声明的头文件

int main(int argc, char* argv[])
{
// 调用API函数MessageBox
int nSelect = ::MessageBox(NULL, "Hello, Windows XP", "Greetings", MB_OKCANCEL);
if(nSelect == IDOK)
printf(" 用户选择了“确定”按钮 \n");
else
printf(" 用户选择了“取消”按钮 \n");
return 0;
}
调用API具体步骤:
1.包含调用函数的头文件;
2.连接指定的库文件;
3.API函数前加::符号,表示全局函数.
4.在MSDN中可以找到相关API的用法。

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

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

❼ 怎么用windows api编程用c语言的,我不懂求指点

如果是入门的话,不要用C,直接用C++。
最好用IDE中的向导生成。
等你入门了,再仔细研究API调用。

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

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

❾ C语言或是C++语言是怎么调用winAPI来进行windows编程的呢

调用WINDOWSAPI,你得把调用函数所在的头文件INCLUDE到你的程序当中,并且连接相应库。其它的跟普通C程序没什么两样。可以用C和C++编写DLL,至于修改啉,修改你的当然可以,其它的我没试过,好像不行

❿ 怎么用C语言编写一个windows窗口

  1. 调用window库窗口函数即可创建windows窗口。

  2. 必须使用windows的编译器,如VC,MS等等。

    RegisterClassEx函数:
    该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。
    CreateWindowEx函数:
    该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindow。具体仍可见微软的msdn。
    消息处理函数WindowProc:
    该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WINDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。
    函数原型:
    LRESULT CALLBACK WindowProc (HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam);
    参数:
    hwnd:指向窗口的句柄。
    uMsg:指定消息类型。
    wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。
    IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。
    返回值:返回值就是消息处理结果,它与发送的消息有关。

    一个简单的Window的代码如下:

    #include<Windows.h>
    #include<tchar.h>
    LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
    intWinMain(
    __inHINSTANCEhInstance,
    __in_optHINSTANCEhPrevInstance,
    __inLPSTRlpCmdLine,
    __inintnShowCmd
    )
    {
    TCHAR*szName=_T("myWindow");
    WNDCLASSEXwc={0};
    HWNDhWnd=NULL;
    MSGMsg={0};
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.cbSize=sizeof(WNDCLASSEX);
    wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//通过函数来设置一个白色的背景,这里大家设置为NULL看看,会很有趣的
    wc.hCursor=NULL;//不设置
    wc.hIcon=NULL;//不设置
    wc.hIconSm=NULL;//不设置
    wc.hInstance=hInstance;//当前程序的句柄,hInstance是有系统给传递的
    wc.lpfnWndProc=WinProc;//窗口处理过程的回调函数。
    wc.lpszClassName=szName;//窗口类的名字。
    wc.lpszMenuName=NULL;
    wc.style=CS_HREDRAW|CS_VREDRAW;
    RegisterClassEx(&wc);//在系统中注册
    hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T("我的窗口我喜欢"),WS_OVERLAPPEDWINDOW,
    200,100,600,400,NULL,NULL,hInstance,NULL);//创建窗口,窗口标题为"我的窗口我喜欢"
    if(hWnd==NULL)
    {
    MessageBox(NULL,_T("There'sanError"),_T("ErrorTitle"),MB_ICONEXCLAMATION|MB_OK);
    return0;
    }
    ShowWindow(hWnd,nShowCmd);//显示窗口
    UpdateWindow(hWnd);
    //下面是对消息的循环处理,大家先不必管这些,下节课我会细说的
    while(GetMessage(&Msg,NULL,0,0))
    {
    TranslateMessage(&Msg);//翻译消息
    DispatchMessage(&Msg);//分派消息
    }
    returnMsg.message;
    }
    //消息处理函数
    LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)
    {
    switch(Msg)//处理消息过程
    {
    caseWM_DESTROY://响应鼠标单击关闭按钮事件
    PostQuitMessage(0);//退出消息队列
    return0;//退出函数
    }
    returnDefWindowProc(hWnd,Msg,wParam,lParam);
    }