导航:首页 > 软件知识 > 如何才能编写一个桌面程序

如何才能编写一个桌面程序

发布时间:2023-03-10 13:10:14

⑴ 开发独立EXE桌面应用程序,用什么语言、技术合适

您的要求可能看起来很低,但实现起来并不容易。 首先,Windows 本身甚至没有 C++ 运行时库,或者 msvcrt 不是 Windows 的一部分。 每个版本的windows可能都自带了msvcrt的一部分,但是xp vista win8 win10 win11自带了不同版本的msvcrt,也就是说,一旦依赖了msvcrt库,就不能保证在所有版本的windows上都能正常工作。换句话说,为了实现您的目标,您至少必须有一种静态链接基本 C/C++ 库的方法。 

为了解决这个问题,通常需要检查数据并更改参数。 比如这篇文章就是完整的数据。 甚至,说不定有人把这样的方法直接做成了工具。 但是你问“没有额外的第三方工具,没有代码和步骤”,那么好吧,这条路又被你挡住了。 至于高级语言,其实很多高级语言都是用C/C++开发或者执行的,所以Windows下的实际执行也依赖于msvcrt。 需要排除类似的语言方案。 因为,要想完全实现主体的思想,就必须摆脱msvcrt的依赖。 但是如果你想摆脱 msvcrt 依赖,要么需要一定的代码和步骤,要么需要第三方工具。 你不能同时使用两者,所以你不能这样做。 

专门开发接口的早期开发语言还有其他早期开发语言。 如果要写native native exe,也可以使用以下语言的Delphi:Delphi 7,非常不错。 现在 Free Pascal 对于跨平台开发来说还不错。  VB6:从未消亡的开发语言,也有大量开发小工具的爱好者。 还是一个非常快的VFP:Visual Foxpro,但不是微软自己的,现在没有开发PB:PowerBuilder C++ builder 6.0:Borland的C++程序开发集成平台MASM:Macro assembler。 更加困难。 接近机器语言。优点是运行速度快,比c#快,生成的exe小,不易被破解。

其他开发语言Flex(flash script + java),easy language(中文编码),单独的EXE桌面软件也可以试试aardio,还不错。如果只针对Windows平台,建议使用c#或VB6。 如果想要更好的界面,可以使用浏览器调用html js 界面库或者WPF。 如果考虑跨平台。  ,上面有很多选项。 主要是根据你的实际需求,再考虑性能、部署等方面。

⑵ 什么语言写桌面应用程序好呢

开发桌面程序主流:C#(.net)或者C++。C++通常用于个人应用,大多数的通用商业程序都是C++开发的。而C#更多用于企业应用,更适合快速定制开发。

其他的老VB6(非.net的)、Delphi、C++Builder都不错,但已经逐渐淘汰了,用的人也是越来越少。至于Flex的AIR桌面程序就更加小众了,可谓人迹罕至。

此外,还有些企业应用因为后台是Java的,因此也选用Java做桌面。因为Java后台数量庞大,因此用Java做桌面在未来很长一段时间内依然是有一席之地的,但不是最主流的。

⑶ 如何创建一个最简单的Windows桌面应用程序

三部分:

WinMain(主函数)

WinProc(消息处理函数)

...(自定义的函数)

不知道你是什么编译器

如果跟我一样,欢迎追问告诉你创建步骤!

另外附一个小程序(需要用到外部库、文件、函数,请勿尝试编译)

#include<windows.h>
#include<cstdio>
#include<ctime>
#include<cmath>
#pragmacomment(lib,"msimg32")

#defineWindow_FullWidth864
#defineWindow_FullHeight540
#defineScreen_FullWidthGetSystemMetrics(SM_CXSCREEN)
#defineScreen_FullHeightGetSystemMetrics(SM_CYSCREEN)

#defineGame_Menu
#defineGame_Load
#defineGame_Play
#defineGame_Pause
#defineGame_Over

HDCg_hdc,m_hdc,t_hdc;
HBITMAPbm,bk,bg,background;
HFONThfont;
BLENDFUNCTIONbf;
FILE*fp;
POINTp;

intbTrans,bTrans_add=1;

voidgame_Init(HWNDhwnd);
voidgame_Play(HWNDhwnd);
voidgame_check(HWNDhwnd);
voidgame_Paint(HWNDhwnd);
voidgame_reset(HWNDhwnd);
voidgame_Clear(HWNDhwnd);
LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam);

intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){
WNDCLASSEXwc; HWNDhwnd;
MSGmsg;

memset(&wc,0,sizeof(wc));
wc.cbSize =sizeof(WNDCLASSEX);
wc.lpfnWndProc =WndProc;
wc.hInstance =hInstance;
wc.hCursor =LoadCursor(NULL,IDC_ARROW);

wc.hbrBackground=NULL;
wc.lpszClassName="WindowClass";
wc.hIcon =LoadIcon(hInstance,"DICO");
wc.hIconSm =LoadIcon(hInstance,"DICO");

if(!RegisterClassEx(&wc)){
MessageBox(NULL,"WindowRegistrationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}

hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","",WS_VISIBLE|WS_OVERLAPPEDWINDOW^WS_THICKFRAME^WS_MINIMIZEBOX^WS_MAXIMIZEBOX,
(Screen_FullWidth-Window_FullWidth)/2,(Screen_FullHeight-Window_FullHeight)/2,Window_FullWidth,Window_FullHeight,NULL,NULL,hInstance,NULL);

if(hwnd==NULL){
MessageBox(NULL,"WindowCreationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}

game_Init(hwnd);

ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);

srand(time(NULL));

game_reset(hwnd);

while(msg.message!=WM_QUIT){
if(PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
intstart_clock_count=clock();

game_Play(hwnd);
game_Paint(hwnd);

while(clock()-start_clock_count<30);
}
}
returnmsg.wParam;
}

voidgame_Init(HWNDhwnd)
{
chars[20];HINSTANCEhInstance;

t_hdc=GetDC(hwnd);
g_hdc=CreateCompatibleDC(t_hdc);
m_hdc=CreateCompatibleDC(g_hdc);

background=CreateCompatibleBitmap(t_hdc,Window_FullWidth,Window_FullHeight);

bg=(HBITMAP)LoadImage(GetMoleHandle(0),"res\day.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
bk=(HBITMAP)LoadImage(GetMoleHandle(0),"res\black.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

bf.BlendOp=AC_SRC_OVER;
bf.BlendFlags=0;
bf.SourceConstantAlpha=bTrans;
bf.AlphaFormat=0;
}

voidgame_Paint(HWNDhwnd)
{
SelectObject(g_hdc,background);

SelectObject(m_hdc,bg);
BitBlt(g_hdc,0,0,100,100,m_hdc,0,0,SRCCOPY);

SelectObject(m_hdc,bk);
BitBlt(g_hdc,0,0,300,300,m_hdc,0,0,SRCCOPY);

BitBlt(t_hdc,0,0,Window_FullWidth,Window_FullHeight,g_hdc,0,0,SRCCOPY);
}

voidgame_Play(HWNDhwnd)
{
if(bTrans==255)bTrans_add=-1;if(bTrans==0)bTrans_add=1;

bTrans+=5*bTrans_add;bf.SourceConstantAlpha=bTrans;
}

voidgame_check(HWNDhwnd)
{

}

voidgame_reset(HWNDhwnd)
{

}

voidgame_Clear(HWNDhwnd)
{
ReleaseDC(hwnd,t_hdc);
DeleteObject(g_hdc);
DeleteObject(hfont);
DeleteObject(m_hdc);
DeleteObject(bm);
}


LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){

p.x=LOWORD(lParam);p.y=HIWORD(lParam);

switch(Message){

caseWM_DESTROY:{
game_Clear(hwnd);
PostQuitMessage(0);
break;
}

default:
returnDefWindowProc(hwnd,Message,wParam,lParam);
}
return0;
}

⑷ 怎么去报电脑编程序

题主是想问怎么去编写电脑程序吧?编写程序简单步骤如下:
1、桌面空白处右击2,新建3,文本文档,4,新建文本文档的图标。
2、修改txt文件的扩展名,右键-重命名。将.txt改为.vbs,修改成.vbs后看到图标变了,这就说明你的系统能够识别他成一个vbs脚本程序。
3、根据需要在里面写代码了,右键-编辑文件,直接就可以像编写文本文件一样在里面写代码了。
4、然后在里面输入一句弹出简单对话框的代码。
5、之后关闭文件并且保存,可以在编辑的时候直接按CTRL+S保存再关闭,然后去直接双击刚才新建的文件,就会弹出一个对话框来了。这只是系统自带的一个脚本语言。
6、这只是系统只带的一个脚本语言,如果要编一些其他的程序就需要装对应的代码编辑器了。例如C#就得装visualstudio,java的、、eclipse等等。

⑸ 用VS2017怎么写一个简单的C#桌面程序,新手提问,不胜感激

1、启动vs2005。 2、在“最近的项目”栏里单击“创建”右边的“项目”,也可以在“文件”菜单里单击“新建项目”。 3、C#主要用于开发windows应用程序和控件台应用程序,这里以控制台应用程序举例。 4、在弹出的窗口里从左边的“项目类型”下单击“Visual

阅读全文

与如何才能编写一个桌面程序相关的资料

热点内容
天津生发产品怎么选 浏览:306
技术文件如何下载 浏览:995
深圳牛杂市场有哪些 浏览:701
mcgs如何嵌入新的程序 浏览:747
数据线有多少a的说法吗 浏览:589
九江五金市场有哪些 浏览:519
技术实验班是什么意思 浏览:700
微信满多少收不到信息 浏览:524
为什么我的微信扫不成小程序 浏览:753
广东工业产品抄数怎么样 浏览:756
护肤品代理商怎么找货源 浏览:289
市场有哪些共同特点从狭义上讲 浏览:154
淘宝数据包如何精细化 浏览:343
压缩包中哪个是java的程序 浏览:114
建筑基础数据怎么算 浏览:358
哪个程序语言好用 浏览:511
健身馆开发小程序有什么用 浏览:602
台江海鲜市场在哪里 浏览:742
从技术角度如何开发app 浏览:623
日职职业技术学院大一开学带什么 浏览:471