用c语言编写windows程序
Ⅰ 用c语言。可以写Windows窗体程序吗
C语言写操作系统都可以,何况是写Window窗体程序,至于具体的开发环境,只要编译器支持Win32的平台的特性,就能用C来写Window窗体程序。
Ⅱ Windows下C语言网络编程快速入门。
C语言的学习,一般的方式是,先学C,然后是C++,最好还要有汇编语言和微机原理基础,然后才是Visual
C++。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。其实,具有了C语言基础后,再有一些基本的C++类的概念,就可以直接学习Windows
C编程了。一、走近Windows
C语言很多语言都把显示一个“Hello,World!”做为第一个入门程序,
C语言的第一个程序是这样的:#include<stdio.h>
main()
{
printf(“Hello,World!”);
}如果把main函数写成带参数的main函数,应该是:#include<stdio.h>
main(int
arge,char
*argv[])
{
printf(“Hello,World!”);
}Windows
C的第一个程序和这个程序在形式和原理上都是一致的,只是有两点不同:1.
主函数接收的形参不只是命令行中的字符串的个数和字符串的首地址。2.
C语言的很多函数在Windows
C中都可以继续使用,但象printf()屏幕显示等函数就不能继续使用了。因为Windows是多任务操作系统,屏幕已不再为某一个应用程序所独有,Windows
C应用程序要显示字符串,需要使用Windows提供的API函数,开自己的窗口下面是一个最简单的,显示“Hello,World!”的Windows
C程序:#include<windows.h>
APIENTRY
WinMain(HINSTANCE
hInstance,HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,int
nCmdShow)
{
MessageBox(NULL,"Hello,World!","第一个Windows
C程序",MB_OK|MB_ICONASTERISK);
}主函数的形参有四个:1)
Hinstance:接收程序运行时当前实例的句柄;2)
HprivInstance:前一个实例的句柄;3)
LpCmdLine:程序命令行指针;4)
NcmdShow:一个用来指定窗口显示方式的整数。这几个参数的使用我们会在深入的学习中介绍的。显示Hello,Word!字符串,我们使用了一个MessageBox函数,这个函数会在屏幕上显示一个对话框,它的原型是:int
MessageBox(HWND
hWnd,LPCTSTR
lpText,LPCTSTR
lpCaption,UNIT
uType)四个参数分别是:1)
HWnd:父窗口的句柄;2)
LpText:要显示字符串的指针;3)
LpCaption:对话框标题字符串的指针;4)
UType:显示在对话框上的小图标的类型。使用这个函数要包含windows.h头文件。调试一下,怎么样?窗口上弹出了一个“第一个Windows
C程序”对话框,上面有一行字:“Hello,World!”。世界真的很美好啊!!
你连答案也发啦,晕!
Ⅲ 求用c语言编写windows窗口的代码程序。谢谢!
以下程序在C++BUILDER中测试通过。
//---------------------------------------------------------------------------
#include
<windows.h>
#include
<stdio.h>
LRESULT
CALLBACK
WndProc(HWND,UINT,WPARAM,LPARAM);
WINAPI
WinMain(HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,
int
nCmdShow)
{
static
TCHAR
szAppName[]=TEXT("HWCPcn");
static
TCHAR
szClassName[]=TEXT("HWICPcn");
HWND
hwnd;
MSG
msg;
WNDCLASS
wndclass;
wndclass.style=CS_HREDRAW
|
CS_VREDRAW;
wndclass.lpfnWndProc
=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
=szClassName;
if
(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("wiki.cprogram.cn"),szAppName,MB_ICONINFORMATION);
return
0;
}
hwnd=CreateWindow(szClassName,TEXT("THE
C
PROGRAM"),
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
message,WPARAM
wParam,LPARAM
lParam)
{
HDC
hdc;
PAINTSTRUCT
ps;
RECT
rect;
switch
(message)
{
case
WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("www.CPROGRAM.CN"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return
0;
case
WM_CREATE:
MessageBox(NULL,"Hello","Cprogram.cn",MB_OK);
return
0;
case
WM_DESTROY:
PostQuitMessage(0);
return
0;
}
return
DefWindowProc(hwnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------
Ⅳ 用C语言编写Windows服务程序的五个步骤
第一步:主函数和全局定义
第二步:ServiceMain
函数
第三步:处理控制请求
第四步:安装和配置服务
第五步:测试服务
Ⅳ 如何在windows上用c语言编程
windows环境使用C语言编程,需要先部署C语言开发环境,初学阶段可以使用Dev c++、Codeblocks等,高级阶段可以使用vscode 、visual studio等
Ⅵ 用C语言编写windows窗体程序,怎么创建按钮以及怎么添加按钮的触发事件啊
Windows
窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用
CreateWindows
函数来创建,不过类名,则需要指定为系统预先注册的控件类,比如,你要创建一个按钮控件,就要这样子
CreateWindows(
"BUTTON",
"按钮标题"
),CreateWindows
这个函数你应该用了不少了吧,其余的参数可以参考
MSDN,但是类名我们指定了
“BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的
ID,通过你的消息处理函数,可以知道哪个按钮发生了什么事件,详细讲的话,非常多,你可以参考
MSDN,或者《Windows
程序设计》这本书
。
Ⅶ 用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗
//以Helloworld示例
//先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件
//打开文件后,如下 步骤写程序
#include <stdio.h>//首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数
//接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,叫主函数,他是整个程序的入口函数,程序所有的功能实现都要在这个函数中体现。但是这个函数有且仅有一个
int main()
{
//这是main函数的函数体,要实现什么功能,就把实现功能的语句写到这里面
//比如我要实现打印HelloWorld字符,那么我就调用printf()标准输出语句
printf("Hello World!\n");//这个语句表示原样输出引号内的字符,‘\n’表示换行
return 0;//最后,因为main函数有一个int的返回类型限定,那么我们使用return语句返回一个int类型的值 0.
}
//这样就结束了。一个简单的但又完整的C程序就有了,
//下一步就是使用编译器编译成目标的可执行文件:
//如果是windows下的vc++,那么需要分别点击编译,链接两个按钮生成hello.exe可执行文件
//如果是linux下直接在shell中使用gcc hello.c就可以编译成可执行文件a.out
//最后就是运行了,windows下直接点击vc++的运行或双击hello.exe可以出现dos窗口运行,并显示结果,linux下使用“./a.out”可以直接运行,运行结果会显示在shell中。
//这就是整个完整的流程,包括每一步。如果帮助到你,请你采纳为答案。谢谢。
Ⅷ c语言编写windows小程序1
项目的属性参数设置错误;
你是否写的是,用WINAPI编写windows窗体
Ⅸ C语言怎么只能编写控制台应用程序,怎么编写WINDOWS 应用程序
需要些SDK的知识,windows的实现中基本上都是用的C语言,其各种接口基本上都是原生C语言函数,具体比如SDK用的windows API。
使用纯C语言编写windows程序,工作量将会相当大,下面是一个小例子:
/*
* This is a simple windows program, it does nothing but draw an ellipse.
* Windows SDK, Win32 API ,Pure C, (Not C++ or MFC !!)
* Suxpert at gmail dot com, 2008/8/24
* */
#include <windows.h>
LONG WINAPI WndProc( HWND, UINT, WPARAM, LPARAM );
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow ){
/* The Entry for windows program, just like main() in dos */
WNDCLASS wc;
HWND hwnd;
MSG msg;
wc.style = 0; // Class style
wc.lpfnWndProc = (WNDPROC)WndProc; // Window procere address
wc.cbClsExtra = 0; // Class extra bytes
wc.cbWndExtra = 0; // Window extra bytes
wc.hInstance = hInstance; // Instance handle
wc.hIcon = LoadIcon( NULL, IDI_WINLOGO ); // Icon handle
wc.hCursor = LoadCursor( NULL, IDC_ARROW ); // Cursor handle
wc.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 ); // Background color
wc.lpszMenuName = NULL; // Menu name
wc.lpszClassName = "WinSDKtest"; // WNDCLASS name
RegisterClass( &wc );
hwnd = CreateWindow (
"WinSDKtest", // WNDCLASS name
"SDK Application", // Window title
WS_OVERLAPPEDWINDOW, // Window style
CW_USEDEFAULT, // Horizontal position
CW_USEDEFAULT, // Vertical position
CW_USEDEFAULT, // Initial width
CW_USEDEFAULT, // Initial height
HWND_DESKTOP, // Handle of parent window
NULL, // Menu handle
hInstance, // Application's instance handle
NULL // Window-creation data
);
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );
while ( GetMessage( &msg, NULL, 0, 0 ) ) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam,
LPARAM lParam )
{
/* Windows will call this function anytime... */
PAINTSTRUCT ps;
HDC hdc;
switch(message){
case WM_PAINT:
hdc = BeginPaint( hwnd, &ps );
Ellipse( hdc, 0, 0, 800, 600 );
// Here we Draw an ellipse in the window of our program
EndPaint( hwnd, &ps );
break; // Someone like to write return here.
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc( hwnd, message, wParam, lParam );
}
return 0;
}
基本过程就是直接调用windows提供的API函数,完成从窗口创建,显示等界面功能到深层的文件操作,注册表等甚至windows内核调试等高级功能。
Ⅹ vc环境下用c语言编译一个程序调用windows
调用window库窗口函数即可创建windows窗口。
必须使用windows的编译器,如VC,MS等等。
RegisterClassEx函数:该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。
CreateWindowEx函数:该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindow。具体仍可见微软的msdn。
消息处理函数WindowProc:该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WINDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。