用控制台如何编写一个微信小程序js怎么写,老师给我出了一道题不知道怎么写。

posts - 390,&
comments - 44,&
trackbacks - 0
第一个手写Win32窗口程序
一 Windows编程基础
1 Win32应用程序的基本类型
1.1 控制台程序
不需要完善的Windows窗口,可以使用DOS窗口
的方式显示。
1.2 Win32窗口程序
包含窗口的程序。可以通过窗口与程序进行交互。
1.3 Win32库程序
提供已有的代码,供其他程序使用。
动态库:DLL 是在执行的时候可以加载的程序。
静态库:LIB 是在编译链接是使用的程序。
1.4.1 程序的入口函数不同
控制台:main
Win32窗口程序:WinMain
动态库DLL:DllMain
静态库LIB:无
1.4.2 编译链接后存在的形式不同
控制台和Win32窗口程序:EXE文件,可以执行
动态库DLL:DLL文件,无法执行
静态库LIB:LIB文件,无法执行
1.4.3 执行结果不同
控制台:使用DOS窗口,自己没有窗口。
Win32窗口程序:会产生自己的窗口,
可以将结果输出或者从窗口接受输入。
动态库DLL:自己无法执行,提供可以执行
的代码,当EXE等程序执行时,可以使用
这些代码.执行时,该库必须在指定的路径.
静态库LIB: 自己无法执行,提供给程序在
编译链接时使用,将库中的代码嵌入到
程序当中.执行时,不需要该库存在.
二 Win32窗口程序和编译环境
2.1 开发和编译环境
VC1.5 - VC6.0(2008) - VC10.0(2010)
2.1.1 编译器 CL.EXE(在VC安装目录的VC98/Bin目录下)
将原代码编译目标代码. OBJ文件.
2.1.2 链接器 Link.EXE(在VC安装目录的VC98/Bin目录下)
将OBJ文件和库函数链接.生成EXE.
2.1.3 资源编译器 rc.exe(在VC安装目录的MSDev98\Bin目录下)
将资源脚本编译成可以链接的文件(RES).
2.2 头文件和库
2.2.1 头文件 windows.h包含了windows
常用的定义等.其他,还包含了一些其他的
windef.h - 定义了各种的数据类型
winbase.h- 定义了kernel的相关函数
wingdi.h - 定义了绘图和文字
winuser.h- 窗口 控件等函数
winnt.h - 提供Unicode支持
kernel32.lib - 提供进程/线程/内存等等
API函数支持
user32.lib - 包括窗户/界面等等.
- 提供绘图/文字等。
2.3 Hello World程序
2.3.1 入口函数
int WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR pszCmdLine,
nShowCmd )
hInstance -
应用程序的实例句柄
hPrevInstance - 该应用程序的前一个实例句柄
pszCmdLine - 命令行参数
nShowCmd - 窗口的显示方式
2.3.2 MessageBox
2.4 编译环境的准备
在VC98的BIN目录下VCVARS32.BAT
2.5 编译CL.EXE
CL的常用选项
/c 只编译不链接
/TC 编译C文件
/TP 编译C++文件
如果不指定,CL会根据文件类型自动区分
/I 头文件所在路径
字符大小写敏感
2.6 链接LINK.EXE
LINK常用选项:
/out:文件名,链接成指定文件名的程序
/LIBPATH:LIB文件存放的路径, /LIBPATH:"E:\XXX"
/SUBSYSTEM: CONSOLE/WINDOW
字符大小写不敏感
正常执行或带参数执行
三&第一个窗口程序
3.1 入口函数WinMain
3.2 窗口处理函数
当窗口处理消息事件时,系统调用该函数
LRESULT CALLBACK WindowProc(
HWND hwnd,
// 窗口的句柄
UINT uMsg,
// 消息的ID号
WPARAM wParam,
// 消息所对应的参数
LPARAM lParam
// 消息所对应的参数
3.3 注册窗口类型
typedef struct _WNDCLASS {
//窗口类的风格
WNDPROC lpfnWndP //窗口处理函数
cbClsE //窗口类附加数据大小
cbWndE //窗口附加数据大小
hI //当前应用程序的实例句柄
hI //窗口图标
HCURSOR hC //窗口的鼠标
hbrB //窗口的背景画刷
LPCTSTR lpszMenuN //菜单
LPCTSTR lpszClassN //类型名称
} WNDCLASS;
注册函数 RegisterClass
3.4 创建窗口
HWND CreateWindow(
LPCTSTR lpClassName,
//窗口类型名称
LPCTSTR lpWindowName, //窗口名称
DWORD dwStyle,
//窗口类型
//窗口的左上角X坐边
//窗口的左上角X坐边
int nWidth,
//窗口的宽度
int nHeight,
//窗口的高度
HWND hWndParent,
//父窗口句柄
HMENU hMenu,
//窗口菜单句柄
HANDLE hInstance,
//应用程序的实例句柄
LPVOID lpParam
//创建的参数,一般为NULL
3.5 显示窗口
ShowWindow 显示窗口
BOOL ShowWindow(
HWND hWnd,
//显示的窗口句柄
int nCmdShow
//显示的方式
UpdateWindow 刷新窗口
3.6 消息处理
GetMessage 获取消息
DispatchMessage 派发消息
3.7 程序退出
窗口销毁时,退出程序。在WndProc中实现。
WM_DESTROY: 当窗口销毁时,会调用WndProc
传递给使用者。
PostQuitMessage:发送一个退出消息。
四 资源的处理
4.1 资源和资源脚本
资源:ICON/CUSRUR/BITMAP/MENU......
资源脚本: 扩展名为rc文件。 4.2 编译资源
使用rc.exe编译资源,生成RES文件 4.3 链接资源
使用link.exe将RES文件链接到程序当中 4.4 ICON的使用
LoadIcon从指定程序中加载ICON资源。
HelloWorld.c代码如下:
1 #include &windows.h&
4 // 2、窗口过程函数
5 LRESULT CALLBACK WindowProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam )
//判断消息ID
switch (uMsg)
case WM_DESTROY:
// 窗口销毁消息
PostQuitMessage( 0 );
发送退出消息
// 其他的消息调用缺省的消息处理程序
return DefWindowProc( hwnd, uMsg, wParam, lParam );
21 // 3、注册窗口类型
22 BOOL RegisterWindow( LPCSTR lpcWndName, HINSTANCE hInstance )
ATOM nAtom = 0;
// 构造创建窗口参数
WNDCLASS wndClass = { 0 };
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.lpfnWndProc = WindowP
// 指向窗口过程函数
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hI
wndClass.hIcon = LoadIcon( hInstance, MAKEINTRESOURCE( 100 ) );// 100为在HelloWorld.rc文件中定义的ID号
wndClass.hCursor = NULL;
wndClass.hbrBackground = (HBRUSH)COLOR_GRAYTEXT;
wndClass.lpszMenuName = NULL;
wndClass.lpszClassName = lpcWndN
// 注册的窗口名称,并非标题,以后创建窗口根据此注册的名称创建
nAtom = RegisterClass( &wndClass );
if( 0 == nAtom)
MessageBox( NULL, "Register Failed",
"Error", MB_OK|MB_ICONERROR );
return FALSE;
MessageBox( NULL, "Register Successed",
"Sucessed", MB_OK );
return TRUE;
55 // 4、创建窗口(lpClassName 一定是已经注册过的窗口类型)
56 HWND CreateMyWindow( LPCTSTR lpClassName, HINSTANCE hInstance )
HWND hWnd = NULL;
// 创建窗口
hWnd = CreateWindow( lpClassName, "Hello World",
WS_OVERLAPPEDWINDOW,
0, 0, 500, 300,
NULL, NULL, hInstance, NULL );
if( NULL == hWnd )
MessageBox( NULL, "Create Window Failed",
"Error", MB_OK|MB_ICONERROR );
return NULL;
MessageBox( NULL, "Create Window Successed",
"Sucessed", MB_OK );
78 // 5、 显示窗口
79 void DisplayMyWnd( HWND hWnd )
ShowWindow( hWnd, SW_SHOW );
UpdateWindow( hWnd );
85 void doMessage()
// 消息循环处理函数
MSG msg = { 0 };
// 获取消息
while( GetMessage( &msg, NULL, 0, 0 ) ) // 当接收到WM_QIUT消息时,GetMessage函数返回0,结束循环
DispatchMessage( &msg ); // 派发消息,到WindowPro函数处理
96 // 1、 入口函数
97 int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd )
HWND hWnd = NULL;
LPCTSTR lpClassName = "MyWnd";
// 注册窗口的名称
RegisterWindow( lpClassName, hInstance );
hWnd = CreateMyWindow( lpClassName, hInstance );
DisplayMyWnd( hWnd );
doMessage();
HelloWorld.rc资源脚本如下:
其中 100:表示资源的ID号
& & & &ICON:表示资源的类型
  & &&resources/ICO.ico& 表示资源Ico图标的路径
1 100 ICON "resources/ICO.ico"
运行方法:(首先运行VC98/bin/VCVARS32.bat配置好运行环境)
1、在Cmd控制台中找到代码当前路径,使用CL HelloWorld.c /c &命令只编译不链接文件,会生成一个HelloWorld.obj的目标文件
2、使用 rc HelloWorld.rc 命令编译HelloWorld.rc 资源脚本文件,会生成一个HelloWorld.RES的编译过的资源脚本文件
3、使用 link HelloWorld.obj user32.lib HelloWorld.res 链接这几个文件,会生成一个带图标的HelloWorld.exe文件
4、可以在 cmd 窗口中继续使用 HelloWorld 命令运行该程序,也可以点击生成的HelloWorld.exe运行改程序
运行结果如下:
(1) & & & & & & & & & & & & & & & & & & & & & & & & &(2) & &
&&& & & & & & & & & & & & & & &&
(3)可以看到左上角的图标也改变了
阅读(...) 评论()怎样编一个有界面的小程序?
[问题点数:40分,结帖人Just_Finlay]
怎样编一个有界面的小程序?
[问题点数:40分,结帖人Just_Finlay]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2011年9月 C/C++大版内专家分月排行榜第二2011年4月 C/C++大版内专家分月排行榜第二2010年11月 C/C++大版内专家分月排行榜第二
2011年6月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
...,通过动手编写第一个C#控制台程序,了解C#应用程序的基本框架和开
下载积分:800
内容提示:...,通过动手编写第一个C#控制台程序,了解C#应用程序的基本框架和开
文档格式:DOC|
浏览次数:61|
上传日期: 23:59:03|
文档星级:
该用户还上传了这些文档
...,通过动手编写第一个C#控制台程序,了解C#应用程序
官方公共微信怎么使用JAVA编写一个小应用程序 - 开源中国社区
当前访客身份:游客 [
当前位置:
& &大家好,我刚刚注册了开源软件的账号。发现这里正有我苦苦求索的东西,即写程序的技术。由于我是一个菜鸟,现在在学JAVA语言。现在的我只会用eclipse写一些代码,然后再调试运行。可是我不知道该怎么才能够把自己写的代码弄成一个可以用的小程序,而不是只在控制台运行。
& &真心的希望各位大侠能够给我一些指导。
共有6个答案
<span class="a_vote_num" id="a_vote_num_
先学会爬了再走吧。
--- 共有 1 条评论 ---
(5年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
简单 比如你可以看看JDK的demo 下面有很多jar文件 按F3找到 所有的Jar文件 然后进入jar所在目录,&在控制台输入 java -jar xxx.jar &比如有一个Java2dDemo.jar &就可以直接运行&java -jar&Java2dDemo.jar出效果 &前提:这是一个GUI [SWING SWT] 写成的程序 当然你也可以自己打包自己写的控制台程序 不过一闪而过了 除非是swing写的 ,打包自己的也很简单 jar -help 看看帮助 一分钟学会打包 &或者再直接点 用netbeans直接拖控件生成一个GUI程序 然后用netbeans自带的jar打包导出 然后双击直接运行 如果失败 右键你的jar文件 选择打开方式 选择JDK/jre/javaw.exe 搞定
PS 让我想起了学VB的白痴岁月 &以为做一个windows启动器很复杂 其实就是2B操作&
<span class="a_vote_num" id="a_vote_num_
先学基础把!慢慢你就会接触到很多的很好玩的!我也还是学生!记得都是从记事本 到eclipse控制台运行,到动态网站& jsp& servlet& struct1 struct2& javabean jsf等等 慢慢来把!不急不急
--- 共有 2 条评论 ---
同感啊,我是新来的啊
(3年前)&nbsp&
恩,感觉现在学的java很浅,什么都做不了。都有点没信心了。感觉要做一个小程序很复杂。对现在的我来说根本就是无从下手
(5年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
恩恩,谢谢啦!
<span class="a_vote_num" id="a_vote_num_
真要学java,建议你彻底放弃图形界面方面的学习,用java写界面完全是在浪费时间,而且还没太大价值
<span class="a_vote_num" id="a_vote_num_
可视化的话你可以swing,swt这些
然后根据main方法是入口
然后完成之后,可以用fat打成一个jar包,
接下来可以根据jar包打成一个exe
然后在进行打成一个安装包
更多开发者职位上
有什么技术问题吗?
枫凌的其它问题
类似的话题

我要回帖

更多关于 控制台应用程序怎么写 的文章

 

随机推荐