⑴ 开发独立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