当前位置:首页 » 编程语言 » c语言控制台界面

c语言控制台界面

发布时间: 2022-08-24 16:15:28

c语言如何写出一个图形化的界面,难道只能是黑白的win32控制台程序么

控制台字符界面,只要是字符来进通信。win32
只要是用来开发主流windows程序的。一步一步来看:首先从函数接口:int
main(int
argc,
char
*argv[])单单的一个入口点,两个参数就是,命令行参数。一个数组和一个整形。说实话让我来说我也说不出来这个
int
main有什么可讲的。重点讲一讲这个winmainint
winapi
winmain(hinstance
hinstance,hinstance
hprevinstance,lpstr
lpcmdline,int
ncmdshow)在你创建win32程序的时候,入口点是这个:所以,系统在加载你的程序进入内存的时候cs:ip在完成程序初始化之后就会指向这个winmain
首地址。我看来看参数:
hinstance是windows
为每一个win32程序分配的实例化句柄(用来管理程序的一个标识符)hprevinstance前一个执行实体的执行实体句柄
lpcmdline
同样,命令行ncmdshow
状态。-----------------------简而言之,一般的c编译器默认都会用main
来作为程序入口,这个规范。但是windows为了方便程序的内存管理或者是图形界面的管理。重新自定义了一个入口函数,当然编译器肯定要重新编写了,因为这个一个新的规范。参数即是为了管理程序的。基本上每一个windows程序都会有一个winmain
。以前写过mrp的手机程序。int
tmain(int
x,int
y,int
flags)显而易见,这个触屏的坐标个触发的事件。
我相信你已经懂了。如果你想研究win32参数具体作用,那么推荐一本

② C语言图形界面怎么做出来

这是最简单的界面程序://c++.cpp:定义应用程序的入口点。

//

#include"stdafx.h"

#include"c++.h"

#defineMAX_LOADSTRING100

//全局变量:

HINSTANCEhInst; //当前实例

TCHARszTitle[MAX_LOADSTRING]; //标题栏文本

TCHARszWindowClass[MAX_LOADSTRING]; //主窗口类名

//此代码模块中包含的函数的前向声明:

ATOM MyRegisterClass(HINSTANCEhInstance);

BOOL InitInstance(HINSTANCE,int);

LRESULTCALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

INT_PTRCALLBACK About(HWND,UINT,WPARAM,LPARAM);

intAPIENTRY_tWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPTSTRlpCmdLine,

intnCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

//TODO:在此放置代码。

MSGmsg;

HACCELhAccelTable;

//初始化全局字符串

LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);

LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);

MyRegisterClass(hInstance);

//执行应用程序初始化:

if(!InitInstance(hInstance,nCmdShow))

{

returnFALSE;

}

hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));

//主消息循环:

while(GetMessage(&msg,NULL,0,0))

{

if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return(int)msg.wParam;

}

//

//函数:MyRegisterClass()

//

//目的:注册窗口类。

//

//注释:

//

//仅当希望

//此代码与添加到Windows95中的“RegisterClassEx”

//函数之前的Win32系统兼容时,才需要此函数及其用法。调用此函数十分重要,

//这样应用程序就可以获得关联的

//“格式正确的”小图标。

//

ATOMMyRegisterClass(HINSTANCEhInstance)

{

WNDCLASSEXwcex;

wcex.cbSize=sizeof(WNDCLASSEX);

wcex.style =CS_HREDRAW|CS_VREDRAW;

wcex.lpfnWndProc =WndProc;

wcex.cbClsExtra =0;

wcex.cbWndExtra =0;

wcex.hInstance =hInstance;

wcex.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(IDI_C));

wcex.hCursor =LoadCursor(NULL,IDC_ARROW);

wcex.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName =MAKEINTRESOURCE(IDC_C);

wcex.lpszClassName =szWindowClass;

wcex.hIconSm =LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_SMALL));

returnRegisterClassEx(&wcex);

}

//

//函数:InitInstance(HINSTANCE,int)

//

//目的:保存实例句柄并创建主窗口

//

//注释:

//

//在此函数中,我们在全局变量中保存实例句柄并

//创建和显示主程序窗口。

//

BOOLInitInstance(HINSTANCEhInstance,intnCmdShow)

{

HWNDhWnd;

hInst=hInstance;//将实例句柄存储在全局变量中

hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

if(!hWnd)

{

returnFALSE;

}

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

returnTRUE;

}

//

//函数:WndProc(HWND,UINT,WPARAM,LPARAM)

//

//目的:处理主窗口的消息。

//

//WM_COMMAND -处理应用程序菜单

//WM_PAINT -绘制主窗口

//WM_DESTROY -发送退出消息并返回

//

//

LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

intwmId,wmEvent;

PAINTSTRUCTps;

HDChdc;

switch(message)

{

caseWM_COMMAND:

wmId=LOWORD(wParam);

wmEvent=HIWORD(wParam);

//分析菜单选择:

switch(wmId)

{

caseIDM_ABOUT:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

break;

caseIDM_EXIT:

DestroyWindow(hWnd);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

break;

caseWM_PAINT:

hdc=BeginPaint(hWnd,&ps);

//TODO:在此添加任意绘图代码...

EndPaint(hWnd,&ps);

break;

caseWM_DESTROY:

PostQuitMessage(0);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

return0;

}

//“关于”框的消息处理程序。

INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)

{

UNREFERENCED_PARAMETER(lParam);

switch(message)

{

caseWM_INITDIALOG:

return(INT_PTR)TRUE;

caseWM_COMMAND:

if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)

{

EndDialog(hDlg,LOWORD(wParam));

return(INT_PTR)TRUE;

}

break;

}

return(INT_PTR)FALSE;

}

③ C语言 控制台程序

不想调用控制台入口换winmain
底层的编译,在编译成目标文件之后,不要链接成可执行文件,生成别的
二进制文件
或者。。像
Linux内核
一样,编译成可执行文件,装载入内存,然后用内存镜像拷贝出纯二进制文件。。等等方法
至于编译驱动有另外更加专业的方法咯。。

④ C语言控制台程序如何自定义窗口大小(VC6.0中)比如最大化控制台窗口,想着能多输出点东西哈

调整控制台大小 右键控制台上边框就可以看到设置选项

要多输出东西 建议使用输出到文件

⑤ 什么是C语言控制台

C语言控制台就是C语言在新建工程时选的一种工程类型,称为Win32控制台应用程序。
控制台应用程序就是模拟DOS环境下运行的程序。

建立Win32控制台应用程序的过程如下:
新建项目--->Win32--->Win32控制台应用程序

建立完控制台应用程序后,就可以在新建的源文件中输入C语言程序,经编译完成后就可以运行在DOS环境中运行(即黑框)。

⑥ 请教一个问题 请问C语言运行的界面要怎样才能更改或是建立一个美观的界面~

C的默认控制台是黑底白字的,你可以点开控制台左上方的图标选其中的默认值或其他,你就可以更改控制台界面的颜色后及字体大小和颜色。

⑦ 我的C语言使用控制台编程之后,怎么能够让控制台界面在程序执行完毕之后保留在桌面

可以使用系统函数system("pause");进行暂停。

1、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
2、例程:

#include<stdio.h>
#include<stdlib.h>
intmain(){
system("pause");//暂停
return0;
}

⑧ C语言中的控制台指的是什么

1.关于C中没有控件的问题: 你看的是谭浩强的书,那个上面的程序都是控制台应用程序,也就是你说的DOS界面下面的程序,程序的入口时main函数。的确是没办法达到你所说的控件。但是C在开发窗体应用程序时是可以达到VB的那种效果的,用的是WINAPI,程序的入口就是WinMain函数了,只不过开发过程繁琐,但是效率高,当中从创建窗口,注册窗口,显示窗口……全是用代码完成的,想了解的话看《Windows程序设计》这本书。 当然微软为了效率考虑,封装成了MFC,开发的形式就更像VB 了。 2.关于c++ c++2008,VB VB2008的问题: 语言和开发环境是不一样的,一定不能混淆。你说的c++2008 应该指的是开发环境 VS2008 吧,你说VB与VB2008基本上完全不一样,是没错,因为在VB6下面还是VB ,但是到了之后的版本,是VB.NET 二者的差别可不是一般的大,完全没有血缘关系。。。 而C++是一门语言,与VC VC2008 等开发环境是不一样的。 再者,是你说的关于老版本的VB6 ,以及VC6 是否会被淘汰的问题,正如我上面说的,你掌握的是一门语言的话,无论在什么样的开发环境下面,影响不是很大。 3.给你的一小点学习建议: 如果你现在基础不是太好的话,踏踏实实的跟着谭的书学C吧,DOS界面是有点。。。但是不要急于求成,把语法熟悉了,算法跟上了,程序思维清晰了。以后学习才轻松,不然你现在直接去学比如说Windows程序设计,没有C的基础还是相当困难的,这就像学武功先扎马步一样的。一个道理。 希望对你有所帮助。

⑨ C语言 怎么使控制台窗口大小固定不变

啊是发说的 提供的方法有效,但在VC++6.0中GetConsoleWindow()无法通过编译

经查询并添加头文件、声明等之后均无法使用

后将GetConsoleWindow()换为FindWindow(), 亲测可用

例如:SetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE,GetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE) & ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);

已经实现隐藏最大化按钮

FindWindow()也能获取控制台窗口句柄,内含两个参数,具体可网络

参考链接:网页链接

C语言、VC++6.0编译

⑩ C语言 设置控制台窗口的位置。

1.gotoxy函数:
原型:extern void gotoxy(int x, int y);
用法:#include <system.h>
功能:将光标移动到指定位置说明:gotoxy(x,y)将光标移动到指定行y和列x。设置光标到文本屏幕的指定位置,其中参数x,y为文本屏幕的坐标。
gotoxy(0,0)将光标移动到屏幕左上角

2.例程(下面这个例子将在屏幕中央输出“hello world”):

#include <conio.h>
int main(){
clrscr(); //清除屏幕
gotoxy(35, 12); //挪动鼠标到屏幕中央
cputs("Hello world");
getch();
return 0;
}

热点内容
中国学位论文全文数据库 发布:2025-01-18 06:43:49 浏览:688
全局变量存储类别 发布:2025-01-18 06:39:29 浏览:423
苹果平板的王者号如何转移到安卓 发布:2025-01-18 06:37:11 浏览:611
图片访问量 发布:2025-01-18 06:36:34 浏览:497
数据结构与算法下载 发布:2025-01-18 06:36:32 浏览:314
如何租ip服务器 发布:2025-01-18 06:29:07 浏览:117
sql周的第一天 发布:2025-01-18 06:29:05 浏览:887
安卓软件如何看本地视频 发布:2025-01-18 06:28:24 浏览:927
安卓手机如何更换路由器管理员 发布:2025-01-18 05:53:45 浏览:615
Js脚本题目收录 发布:2025-01-18 05:53:35 浏览:737