问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如果写c语言需要有个界面输入输出,用API怎么实现?

发布网友 发布时间:2022-05-07 01:25

我来回答

3个回答

热心网友 时间:2023-10-10 19:24

首先你应该建立一个WIN32程序项目,而不是控制台项目。
在添加这些代码:
#include<windows.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define pi 3.1415
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数说明
//--------------------以下初始化窗口类-----------------//
int WINAPI WinMain(HINSTANCE hInstance,//WinMain函数说明
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口";//窗口类名
char lpszTitle[]="窗口示例程序";//窗口标题名
//窗口类的定义
wndclass.style=0; //窗口类型为默认类型
wndclass.lpfnWndProc=WndProc;//窗口处理函数为WndProc
wndclass.cbClsExtra=0; //窗口类无扩展
wndclass.cbWndExtra=0;//窗口实例无扩展
wndclass.hInstance=hInstance;//当前实例句柄
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//使用默认图标
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口采用箭头光标
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
wndclass.lpszMenuName=NULL;//窗口中无菜单
wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口示例”
//--------------------以下进行窗口类的注册-------------
if(!RegisterClass(&wndclass)) //若注册失败则发出警告声音
{MessageBeep(0);
return FALSE;
}
//创建窗口操作
hwnd=CreateWindow(lpszClassName,// 窗口类名
lpszTitle,//窗口实例的标题名
WS_OVERLAPPEDWINDOW,//窗口的风格
CW_USEDEFAULT,CW_USEDEFAULT,//窗口左上角的坐标为默认值
CW_USEDEFAULT,CW_USEDEFAULT,//窗口的高和宽为默认值
NULL, //此窗口无父窗口
NULL, //此窗口无主菜单
hInstance, //应用程序的当前句柄
NULL); //不使用该值
ShowWindow(hwnd,nCmdShow); //显示窗口
UpdateWindow(hwnd); //绘制用户区
while(GetMessage(&Msg,NULL,0,0)) //消息循环
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam ; //程序终止时将信息返回系统
}
//窗口函数
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
switch(iMessage)
{
//此处添加消息处理代码

}
switch(iMessage)
{
case WM_DESTROY:
PostQuitMessage(0); //调用该函数发出WM_QUIT消息
default:
return DefWindowProc(hWnd,iMessage,wParam,lParam);
}
return 0;
}

热心网友 时间:2023-10-10 19:24

楼上的兄弟其实没有答到点上 为什么这么说 其实C语言作为内核而API作为界面实现的方法是这样的
先新建一个WIN32项目 (vc6.0环境下)把API界面的代码写出来 之后另存为.c的文件 编译器会自动生成一个.h的文件 之后写C语言代码 把那个.h的头文件用#include""的方式写进去 然后在资源处添加刚存储的.c的文件

也就是添加程序成员的方式 先写出C语言代码 然后添加工程组建的方式 把窗口API添加到里面就行 注意 把C语言中输入输出 赋值给一个全局变量 传递进API 用TextIn 和TextOut 函数来实现
这个是我问我们WINDOWS编程老师告诉我的 希望可以对大家有帮助

热心网友 时间:2023-10-10 19:25

你看看天翼应用工厂,好像里面有相关的资料。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你家的水龙头起泡器该换了 如何打开水龙头起泡器 网上卖门锁,安装如何解决 广告装潢需要哪些设备 广告制作需要哪些材料 开锦旗招牌广告制做店须要什么 广告店需要哪些耗材 长安之星发动机水泵要坏之前声音怎么判断 家有孕妇咋调理:280天贴心呵护生健康宝贝图书信息 哪些是适合孕妇看的书 labview中怎么制作带有输入输出引脚的子VI 谁认识这个标志?音频信号输入输出吗? 18K白金项链一条需要多少钱 18k白金项链多少钱一克 mysql主键设的是int型的,长度是10,存了50个数据就存不了了 什么叫尘肺病 什么是尘肺病?哪些工种比较容易得这种病? 尘肺病诊断难在哪?什么是尘肺病?为何治疗如此之难? 什么是尘肺病? 什么是尘肺病 尘肺病的原因是什么 什么是尘肺,矽肺,石棉肺分类 尘肺是什么 尘肺病知识普及之什么是尘肺病 尘肺是什么? ▼什么是尘肺病 什么是尘肺病?尘肺病的表现? 什么是尘肺病?尘肺病症状有哪些? 什么是尘肺病,尘肺病是怎么引起的,尘肺病怎么预防 尘肺病被誉为中国目前最为严重的职业病,什么是尘肺病? 136也是新号码段吗? 神化故事 这个姑娘长得太丑,不能嫁给河神!改成反问句 中信q享卡跟其他信用卡是一样的吗 寻滨崎步的一首歌~ 我在QQ上申请了中信Q享卡 请问这个跟信用卡是一样的吗?能在银行取钱? 求一个电视剧名称,90年代播出的,民国或者晚清背景 中信Q享信用卡额度才给一千五,怎么能提额 &quot;不如却作何伯妇&quot;是什么意思? 中信q享信用卡可以存钱吗 各位学霸 中信信用卡q享信用卡年费多少?跨行取款手续费多少?? 徐州显红岛有没有历史传说 西门豹治邺起因经过结果是什么? 中信Q享信用卡能以卡办卡吗? 谁有苏轼的《吴中田妇叹》翻译,不要赏析 一本小说,女主好像叫花晴,她本来要嫁给村长的儿子,但是她的妹妹怀了村长儿子的孩子 中信银行Q享联名信用卡下卡机率大不?? 西门豹治邺缩写500字 中信银行q享卡信用卡好用吗?办理后什么时候下卡? 显红岛与苏轼算有渊源吗?