⑴ 開發獨立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