日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在Linux上創(chuàng)建窗口?(createwindowlinux)

Linux是一種自由、開放源代碼的操作系統(tǒng),使用非常廣泛。盡管Linux操作系統(tǒng)本身并不支持窗口圖形界面,但是我們可以使用一些工具和框架來在Linux中創(chuàng)建窗口,這方面最主要的工具就是X Window。

創(chuàng)新互聯(lián)建站云計算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、聯(lián)通機(jī)房服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、虛擬主機(jī)、主機(jī)域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

一、什么是X Window

X Window是一種用于顯示圖形界面的系統(tǒng),它是基于客戶端/服務(wù)器架構(gòu)的。在Linux操作系統(tǒng)中,X Window通常稱為X11。X Window系統(tǒng)包括三個主要組件:服務(wù)器、客戶端和窗口管理器。X Window服務(wù)器運(yùn)行在Linux操作系統(tǒng)上,接收來自客戶端的請求并顯示反饋。客戶端是應(yīng)用程序,它們通過向服務(wù)器發(fā)送請求來顯示窗口。

窗口管理器是一種特殊的客戶端,它有兩個主要功能:管理窗口和控制窗口的外觀和感覺。常用的窗口管理器有GNOME、KDE、Xfce等。

二、如何在Linux上安裝X Window

如果你使用的是Ubuntu,可以使用以下命令來安裝X Window:

“`sudo apt-get install x-window-system“`

如果你使用的是其他Linux發(fā)行版,可以使用以下命令來查看是否已經(jīng)安裝了X Window:

“`which startx“`

如果輸出結(jié)果為/usr/bin/startx,則說明X Window已經(jīng)安裝。否則,你需要使用適當(dāng)?shù)拿顏戆惭b它。

三、如何在Linux上創(chuàng)建窗口

在Linux中創(chuàng)建窗口的過程與在其他操作系統(tǒng)中創(chuàng)建窗口類似。您需要使用合適的編程語言和框架來創(chuàng)建窗口。在Linux中,常用的框架有GTK+、Qt、Tk等。

1、使用GTK+創(chuàng)建窗口

GTK+是一個流行的開源工具包,用于創(chuàng)建圖形用戶界面。它是GNOME桌面環(huán)境的默認(rèn)工具包,因此在Linux中很常見。要在Linux中創(chuàng)建GTK+窗口,請遵循以下步驟:

– 安裝GTK+

在Ubuntu中,可以使用以下命令安裝GTK+:

“`sudo apt-get install libgtk-3-dev“`

如果你使用的是其他Linux發(fā)行版,請使用適當(dāng)?shù)拿顏戆惭b它。

– 編寫GTK+窗口程序

以下代碼演示了如何使用GTK+創(chuàng)建一個簡單的窗口:

“`#include

int mn (int argc, char *argv[])

{

GtkWidget *window;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

gtk_window_set_title (GTK_WINDOW (window), “Hello World”);

gtk_widget_show (window);

gtk_mn ();

return 0;

}

“`

該程序使用gtk_window_new函數(shù)創(chuàng)建一個名為window的新窗口。然后,使用gtk_window_set_title函數(shù)設(shè)置窗口標(biāo)題。使用gtk_widget_show函數(shù)來顯示窗口,gtk_mn函數(shù)用于等待事件的發(fā)生。

– 編譯GTK+程序

使用以下命令將程序編譯為可執(zhí)行文件:

“`gcc -o window window.c `pkg-config –cflags –libs gtk+-3.0“`

要運(yùn)行新創(chuàng)建的窗口,請使用以下命令:

“`./window“`

2、使用Qt創(chuàng)建窗口

Qt是一個跨平臺的框架,用于創(chuàng)建圖形用戶界面。它可以在Linux、Windows和macOS等操作系統(tǒng)中使用。要在Linux上使用Qt創(chuàng)建窗口,請遵循以下步驟:

– 安裝Qt

在Ubuntu中,可以使用以下命令安裝Qt:

“`sudo apt-get install qt5-default“`

如果你使用的是其他Linux發(fā)行版,請使用適當(dāng)?shù)拿顏戆惭bQt。

– 編寫Qt窗口程序

以下代碼演示了如何使用Qt創(chuàng)建一個簡單的窗口,其中使用了QApplication和QMnWindow:

“`#include

#include

int mn(int argc, char *argv[])

{

QApplication app(argc, argv);

QMnWindow window;

window.resize(250, 150);

window.setWindowTitle(“Hello World”);

window.show();

return app.exec();

}

“`

該程序使用QMnWindow類創(chuàng)建一個名為window的新窗口。然后,使用resize函數(shù)設(shè)置窗口的大小,使用setWindowTitle函數(shù)設(shè)置窗口標(biāo)題。使用show函數(shù)來顯示窗口,app.exec()函數(shù)用于等待事件的發(fā)生。

– 編譯Qt程序

使用以下命令將程序編譯為可執(zhí)行文件:

“`qmake -project

qmake

make“`

要運(yùn)行新創(chuàng)建的窗口,請使用以下命令:

“`./window“`

四、

在Linux中創(chuàng)建窗口需要使用適當(dāng)?shù)墓ぞ吆涂蚣埽鏧 Window、GTK+、Qt等。每種工具和框架都有不同的優(yōu)缺點,可根據(jù)您的特定需求和偏好選擇。

相關(guān)問題拓展閱讀:

  • 嵌入式軟件和信息終端軟件是什么?
  • 如何用C語言開發(fā)窗體應(yīng)用程序。。

嵌入式軟件和信息終端軟件是什么?

1 嵌入式Linux系統(tǒng)

嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁減。適用于用戶系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。從20世紀(jì)80年代末開始,陸續(xù)出現(xiàn)了一些嵌入式操作系統(tǒng),如VxWorks、pSOS、WindowsCE、Linux等。其中免費(fèi)源代碼的Linux操作系統(tǒng)因其內(nèi)核小、支持多種硬件平臺、可裁減性好等顯著優(yōu)點,得到了廣泛的關(guān)注,為嵌入式系統(tǒng)開發(fā)提供了一個極有力的選擇。

信息終端軟件開發(fā)

本系統(tǒng)中采用了MiniGUI專為嵌入式系統(tǒng)開發(fā)的Lite版本。它基于客戶/服務(wù)器(C/S)體系,在服務(wù)器和客戶之間傳遞輸入設(shè)備數(shù)據(jù),以及客戶和服務(wù)器之間的某些語法 和響應(yīng)數(shù)據(jù)。

在該信息終端軟件中,就根據(jù)這種結(jié)構(gòu)特點,設(shè)計了一個服務(wù)器程序和兩個客戶進(jìn)程。服務(wù)器始終運(yùn)行后臺,記錄有關(guān)系統(tǒng)信息,如系統(tǒng)計時、用戶刷卡余額等,通過MiniGUI提供的Socket機(jī)制通信將數(shù)據(jù)傳給下面的客戶程序。主界面客戶進(jìn)程給用戶提供了完整的操作體驗,用戶可以通過菜單選擇打、瀏覽信息等功能。另一客戶進(jìn)程則是廣告屏保,在無人使用的間隙時間里,可以動態(tài)顯示一些精彩的畫面,實現(xiàn)商業(yè)價值或公益宣傳。下面分別進(jìn)行介紹。

(1)信息終端客戶程序

該信息終端主體界面客戶程序在MiniGUI服務(wù)器的控制臺程序下打開,彈出的是信息終端的主菜單,顯示了、信息查詢、城市交通、新聞專欄等板塊。

程序?qū)崿F(xiàn)時,開始是包含的頭文件。

MiniGUI圖形包的頭文件茄和寬有:common.h(MiniGUI常用的宏及數(shù)據(jù)類型的定義)、minigui.h(全局的和通用的接口函數(shù)及雜項函數(shù)的定義)、window.h(定義了和窗口有關(guān)的宏、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)和窗口函數(shù))。使用GDI函數(shù)和控件還需包括gdi.h、control.h兩個頭文件。

編程實現(xiàn)時,MiniGUI的程序入口點是MiniGUIMain函數(shù),系統(tǒng)初始化后就會自動找到該函數(shù)。在該函數(shù)中先設(shè)置主窗口一些基本屬性,建立每個客戶程序唯一的一個消息隊列。當(dāng)程序結(jié)束時,調(diào)用MainWindow ThreadCleanup函數(shù),清除主窗口所使用的消息隊列系統(tǒng)資源,退回服務(wù)器程序中。

其各個功能子函數(shù)是在MiniGUI程序的另一主體部分——主界面窗口的過程函數(shù)中調(diào)用打開的。在主窗口建立時,其中有一項屬性MainWindowProc,即是注明了對應(yīng)該窗口的過程函數(shù)。各個功能顫亮模塊的消息也都是通過主窗口中的消息循環(huán)進(jìn)行觸發(fā)的。

窗口過程函數(shù)主體上都是switch和case結(jié)構(gòu)的選擇語句,針對不同的消息產(chǎn)生不同的響應(yīng)。一般MSG_CREATE消息在窗口生成時被發(fā)送棚哪,因而控件往往在這里調(diào)用CreateWindow函數(shù)生成。MSG_PAINT則是在移動窗口或調(diào)用UpdateWindow重繪時發(fā)生,可根據(jù)需要定義相應(yīng)的操作。MSG_CLOSE即是關(guān)閉窗口時的動作,一般調(diào)用DestroyMainWindow銷毀主窗口,調(diào)用PostQuitMessage退出消息循環(huán)。

此外,在窗口過程函數(shù)MiniGUI提供的GDI,即圖形設(shè)備接口(graphics device interface),可以方便地將BMP、GIF、JPEG等圖片用LoadBitmap函數(shù)輸出到界面,并通過設(shè)備上下文(DC)的邏輯字體(logfont)實現(xiàn)多字體和多字符集支持。

廣告進(jìn)程的制作也類似,不再說明。

(2)信息終端軟件服務(wù)器程序

如何用C語言開發(fā)窗體應(yīng)用程序。。

windows 下用 MFC 類庫

linux下 用 QT

都是C++的類庫

生產(chǎn)窗體可以使用CreateWindowEx函數(shù)。

函數(shù)功能:該函數(shù)創(chuàng)建一個具有擴(kuò)展風(fēng)格的層疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數(shù)相同。

函數(shù)原型:

CreateWindowEx函數(shù)創(chuàng)建一個層疊的,自動彈出的(pop-up)或是一個子窗口通過擴(kuò)展格式。另外這個函數(shù)的作用與CreateWindow函數(shù)的作用相同。要獲得更多的關(guān)于創(chuàng)建窗口的信息和關(guān)于CreateWindowEx函數(shù)參數(shù)的詳細(xì)描述。參見CreateWindow

HWND CreateWindowEx(

DWOR DdwExStyle,//窗口的擴(kuò)展風(fēng)格

LPCTSTR lpClassName,    //指向注冊類名的指針

LPCTSTR lpWindowName,   //指向窗口名稱的指針

DWORD dwStyle,//窗口風(fēng)格

int x,    //窗口的水平位置

int y,    //窗口的垂直位置

int nWidth,//窗口的寬度

int nHeight,//窗口的高度

HWND hWndParent,//父窗口或螞的句柄

HMENU hMenu,//菜單的句柄或是子窗口的標(biāo)識符

HINSTANCE hInstance,    //應(yīng)用程序?qū)嵗木浔?/p>

LPVOID lpParam//指向窗口的創(chuàng)建數(shù)據(jù)

);

例程:

include

#include

LRESULT CALLBACK WinDouProc(

    HWND hwnd,      // handle to window

    UINT uMsg,      // message identifier

    WPARAM wParam,  // first message parameter

    LPARAM lParam   // second message parameter

);

class CWnd

{

public:

     CWnd()

     帶團(tuán)悶{

m_hWnd = NULL;

     }

     BOOL CreateEx(

DWORD dwExStyle,      // extended window style

LPCTSTR lpClassName,  // pointer to registered class name

LPCTSTR lpWindowName, // pointer to window name

DWORD dwStyle,// window style

int x,  // horizontal position of window

int y,  // vertical position of window

int nWidth,// window width

int nHeight,// window height

HWND hWndParent,      // handle to parent or owner window

HMENU hMenu,// handle to menu or child-window identifier

HANDLE hInstance,     // handle to application instance

LPVOID lpParam// pointer to window-creation data

     );

     BOOL ShowWindow( int nCmdShow );

     BOOL UpdateWindow();

public:

     HWND m_hWnd;

};

BOOL CWnd::CreateEx(

      DWORD dwExStyle,      // extended window style

      LPCTSTR lpClassName,  // pointer to registered class name

      LPCTSTR lpWindowName, // pointer to window name

      DWORD dwStyle,// window style

      int x,  // horizontal position of window

      int y,  // vertical position of window

      int nWidth,// window width

      int nHeight,// window height

      HWND hWndParent,      // 蠢彎handle to parent or owner window

      HMENU hMenu,// handle to menu or child-window identifier

      HANDLE hInstance,     // handle to application instance

      LPVOID lpParam// pointer to window-creation data

)

{

     m_hWnd = ::CreateWindowEx  (dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,(HINSTANCE)hInstance,lpParam);

     if(m_hWnd != NULL)

return TRUE;

     else

return FALSE;

}

BOOL CWnd::ShowWindow(int nCmdShow)

{

     return ::ShowWindow(m_hWnd,nCmdShow);

}

BOOL CWnd::UpdateWindow()

{

     return ::UpdateWindow(m_hWnd);

}

int WINAPI WinMain(

  HINSTANCE hInstance,  // handle to current instance

  HINSTANCE hPrevInstance,  // handle to previous instance

  LPSTR lpCmdLine,      // pointer to command line

  int nCmdShow// show state of window

)

{

    WNDCLASS wndclass;     //先設(shè)計窗口類

    wndclass.cbClsExtra = 0;

    wndclass.cbWndExtra = 0;

    wndclass.hbrBackground = (HBRUSH)GetStockObject(DKGRAY_BRUSH);

    wndclass.hCursor = LoadCursor(NULL,IDC_HELP);

    wndclass.hIcon = LoadIcon(NULL,IDI_WARNING);

    wndclass.hInstance = hInstance;

    wndclass.lpfnWndProc = WinDouProc;

    wndclass.lpszClassName = “Magic_Maggie”;

    wndclass.lpszMenuName = 0;

    wndclass.style = CS_VREDRAW | CS_HREDRAW;

     //某一個變量原油幾個變量去掉一個特征,可以用取反(~)后再進(jìn)行與(&)

     //例如:style上去掉CS_NOCLOSE,可以style&~CS_NOCLOSE;

    RegisterClass(&wndclass);     ///注意先建立再注冊昂

    CWnd wnd;

     wnd.CreateEx(NULL,”Magic_Maggie”,”DouDou”,WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);

     wnd.ShowWindow(SW_SHOWNORMAL);

     wnd.UpdateWindow();

     MSG msg;     //消息循環(huán)

     while(GetMessage(&msg,NULL,0,0))

    {

TranslateMessage(&msg);

DispatchMessage(&msg);   //觸發(fā)WinDouProc

     }

    return 0;

}

  

  

LRESULT CALLBACK WinDouProc(

    HWND hwnd,      // handle to window

     UINT uMsg,      // message identifier

    WPARAM wParam,  // first message parameter

    LPARAM lParam   // second message parameter

)

{

 switch(uMsg)

 {

 case WM_LBUTTONDOWN:

      MessageBox(hwnd,”您按下了鼠標(biāo)左鍵昂”,”豆豆的程序”,MB_OK);

      HDC hdc;

      hdc = GetDC(hwnd);    

     //The GetDC function retrieves a handle to a display device context for the client area of a specified window or for the entire screen. You can use the returned handle in subsequent GDI functions to draw in the device context.

      TextOut(hdc,0,0,”感謝您對豆豆程序的支持昂”,strlen(“感謝您對豆豆程序的支持昂”));

      ReleaseDC(hwnd,hdc);

      break;

  

case WM_CHAR:

      char szChar;

      sprintf(szChar,”Char is %d”,wParam);

      MessageBox(hwnd,szChar,”豆豆的程序”,MB_OK);

      break;

  

case WM_PAINT:

      PAINTSTRUCT ps;

      HDC hDc;

      hDc = BeginPaint(hwnd,&ps);

      TextOut(hDc,0,0,”這個是重繪滴哦”,strlen(“這個是重繪滴哦”));

      EndPaint(hwnd,&ps);

      break;

  

case WM_CLOSE:   //這個case與下邊的destroy這個case不要弄錯了,否則窗口不出現(xiàn),但任務(wù)管理器中運(yùn)行

      if(IDYES == MessageBox(hwnd,”您真的要退出么?”,”豆豆的程序”,MB_YESNO))

      {

DestroyWindow(hwnd);

      }

      break;

  

case WM_DESTROY:

      PostQuitMessage(0);

      //////////////////////////////////////////?????????????????????

      break;

  

default:

     return DefWindowProc(hwnd,uMsg,wParam,lParam);  // 別忘記了return

  

  }

 return 0;

}

C語言是一門通用計算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲燃念兆器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平皮租臺上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級電腦等作業(yè)平臺。

#include

//Function prototype.

int WINAPI WinMain(HINSTANCE,HINSTANCE ,LPSTR ,int);

LRESULT CALLBACK MainWndProc(HWND ,UINT ,WPARAM,LPARAM);

InitApplication(HINSTANCE);

InitInstance(HINSTANCE,int);

LRESULT CALLBACK MainWndProc(HWND hwnd,UINT nMsg,WPARAM wParam,LPARAM lParam)

{

HDC hdc;

PAINTSTRUCT ps;

RECT rect;

switch(nMsg)

{

case WM_COMMAND:

{

hdc = GetDC((HWND)lParam);

GetClientRect ((HWND)lParam, &rect) ;

DrawText(hdc,”HOHO”,-1,&rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

ReleaseDC((HWND)lParam,hdc);

}

break;

case WM_PAINT:

{

hdc = BeginPaint(hwnd,&ps);

GetClientRect (hwnd, &rect) ;

DrawText(hdc,”Hello Word”,-1,&rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

EndPaint(hwnd,&ps);

}

break;

//按鍵

case WM_KEYDOWN:

if(wParam == VK_ESCAPE)

SendMessage(hwnd,WM_CLOSE,0,0);

break;

case WM_CHAR:

switch(wParam)

{

case ‘w’:

MessageBox(hwnd,”UP”,”KeyBorad Input”,MB_OK);

break;

case ‘s’:

MessageBox(hwnd,”DOWN”,”KeyBorad Input”,MB_OK);

break;

case ‘a(chǎn)’:

MessageBox(hwnd,”LEFT”,”KeyBorad Input”,MB_OK);

break;

case ‘d’:

MessageBox(hwnd,”RIGHT”,”KeyBorad Input”,MB_OK);

break;

}

break;

/高做/關(guān)閉

case WM_CLOSE:

DestroyWindow(hwnd);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hwnd,nMsg,wParam,lParam);

}

return 0;

}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInStance,

LPSTR lpCmdLine,int nCmdShow)

{

MSG msg;

if(!InitApplication(hInstance))

{

MessageBox(NULL,”InitApplication Failed”,”Error!”,MB_ICONEXCLAMATION | MB_OK);

return FALSE;

}

if(!InitInstance(hInstance,nCmdShow)){

MessageBox(NULL,”InitInstance Failed”,”Error!”,MB_ICONEXCLAMATION | MB_OK);

return FALSE;

}

while(GetMessage(&msg,(HWND) NULL,0,0)>0)

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return msg.wParam;

}

InitApplication(HINSTANCE hInstance)

{

WNDCLASS wc;

wc.style = CS_DBLCLKS;

wc.lpfnWndProc = MainWndProc;

wc.cbClsExtra = 0;

wc.cbWndExtra = 0;

wc.hInstance = hInstance;

wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);

wc.hCursor = LoadCursor(NULL,IDC_ARROW);

wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

wc.lpszMenuName = NULL;

wc.lpszClassName = “MainWClass”;

return RegisterClass(&wc);

}

InitInstance(HINSTANCE hInstance,int nCmdShow){

HWND hwnd;

HWND hwndCloseButton;

hwnd = CreateWindow(

“MainWClass”,

“Sample”,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

(HWND)NULL,

(HMENU)NULL,

hInstance,

(LPVOID)NULL);

if(!hwnd)

return FALSE;

hwndCloseButton = CreateWindow(

“BUTTON”,

“CLOSE”,

WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,

100,

100,

100,

80,

hwnd,

(HMENU)NULL,

hInstance,

(LPVOID)NULL);

if(!hwndCloseButton)

return FALSE;

ShowWindow(hwnd,nCmdShow);

UpdateWindow(hwnd);

return TRUE;

}

學(xué)了Windows API就可以了

調(diào)用別人的函數(shù)接口,立馬做窗口程序。

可以看看 Windows 程序設(shè)計這本書(C語言),樓下那個根畝頌昌本就不知道接口是什么,C語言有微軟提供的C語言圖形函數(shù)櫻巧庫,迅扒調(diào)用之后就可以開發(fā)窗口程序

關(guān)于createwindow linux的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


本文標(biāo)題:如何在Linux上創(chuàng)建窗口?(createwindowlinux)
標(biāo)題鏈接:http://www.dlmjj.cn/article/cdgdgcj.html