国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)

這篇具有很好參考價值的文章主要介紹了Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


一.前言

  1. 大家好!這是我的第一篇博客,首先來個自我介紹吧!我是來自一所雙非院校的大一新生,所學(xué)的專業(yè)是計算機科學(xué)與技術(shù),純純小白一枚。
  2. 那我為什么要寫博客呢?為什么?說實話,我一開始一直都沒有寫博客的想法,我都是看別人的博客,直到有一天,我的好同學(xué)李同學(xué)來向我推銷他的博客,我那時就很驚訝,哇,你大一就會寫博客了,這么厲害。他就跟我說:“你也可以的,就當(dāng)做筆記吧。”(他的ID是:qq_64484137,也是一個大一新生博主,很厲害的,大家快去關(guān)注他一波!沖沖沖?。┲笪乙蚕肓讼?,寫博客也有很大的好處,你可以在寫博客的過程中不斷鞏固自己的知識,提高自己的能力,是一種很好的學(xué)習(xí)方法,還有一點就是我這個人嘛稍微有一點點內(nèi)斂,所以我也想通過寫博客來改變自己,想成為一個比較陽光開朗的人(哈哈哈,說出來我都有點不好意思)。于是,我便有了寫博客的想法。
  3. 就在不久,我們老師剛剛教完Windows應(yīng)用程序基礎(chǔ),說實話,我聽的也不是很懂,但我通過最近的學(xué)習(xí)和實踐,基本上懂了(不敢說精通)。所以接下來,我來跟大家講講Windows應(yīng)用程序的相關(guān)基礎(chǔ)知識(絕對簡單易懂),系好安全帶,我們出發(fā)啦!

Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)
(本次使用的編譯器為Microsoft Visual C++ 2010 Express,創(chuàng)建項目:新建項目->Win32項目->勾選空項目以及Windows應(yīng)用程序->完成)


二.Windows編程基礎(chǔ)知識

Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)

(1)窗口

窗口是Windows本身及其應(yīng)用程序的基本界面單位,是應(yīng)用程序生成的顯示在屏幕上的一個矩形區(qū)域,是應(yīng)用程序與用戶間的直接接口;應(yīng)用程序控制與窗口有關(guān)的一切內(nèi)容,包括窗口的大小、風(fēng)格、位置及窗口內(nèi)顯示的內(nèi)容等。

Windows編程說白了,就是編一個窗口,使這個窗口具有顯示和人機互動等功能。你現(xiàn)在看到的頁面就是一個窗口,這個窗口顯示了我寫給你們的內(nèi)容(顯示功能),你們也可以對我的內(nèi)容進行復(fù)制和粘貼等一系列操作(人機互動功能)。


(2)事件驅(qū)動

Windows采用事件驅(qū)動方式,即程序的流程不是由代碼編寫的順序來控制的,而是由事件的發(fā)生來控制的,所有的事件是無序的,因此Windows應(yīng)用程序是密切圍繞信息的產(chǎn)生與處理而展開的,主要任務(wù)就是對接收事件發(fā)出的信息進行排序和處理。程序的執(zhí)行過程就是選擇事件和處理事件的過程,而當(dāng)沒有如何事件觸發(fā)時,程序會因為查詢事件隊列失敗而進入睡眠狀態(tài),從而釋放CPU。

事件驅(qū)動怎么理解呢?事件,驅(qū)動。是不是有事件才會驅(qū)動,沒事件就不會驅(qū)動?沒錯,就是這個道理,當(dāng)有事件發(fā)生時,系統(tǒng)會把這些事件收集起來,然后發(fā)送給處理器,經(jīng)過處理器的處理后,最后做出與事件相對應(yīng)的響應(yīng)。是不是很好理解呀。


(3)句柄

句柄(Handle)是整個Windows編程的基礎(chǔ)。一個句柄是指使用的唯一的整數(shù)值,即以一個字節(jié)(程序中64位為8字節(jié))長的數(shù)值,來標識應(yīng)用程序中的不同對象和同類中的不同的實例,如一個窗口、按鈕、滾動條、輸出設(shè)備或文件等。應(yīng)用程序能夠通過句柄訪問對應(yīng)的對象的信息。

句柄是很重要的。但是大家是不是對句柄這東西感覺好難理解。句柄?什么東西?。≌f實話,當(dāng)我聽老師講句柄的時候,我也是一頭霧水。后來我去網(wǎng)上查資料的時候發(fā)現(xiàn)了一個很好的解釋,句柄它就是一個ID,一個標識符。怎么用呢?很簡單。大家都知道C++怎么定義一個整型變量吧。

	int x;//定義一個整形變量

接下來我們定義一個窗口句柄。

	HWND hwnd;//定義一個窗口句柄

大家發(fā)現(xiàn)了沒,它們定義的方式一模一樣,如果你想定義一個整形數(shù)據(jù)那就用int,如果你想定義一個窗口句柄那就用HWND。這樣對比的話,大家應(yīng)該容易來理解吧。(句柄這個翻譯有點害人?。?/p>

句柄類型 說明
HWND 窗口句柄
HINSTANCE 程序?qū)嵗浔?/td>
HCURSOR 鼠標句柄
HFONT 字體句柄
HIPEN 畫筆句柄
HBRUSH 畫刷句柄
BIDC 圖形設(shè)備環(huán)境句柄
HBITMAP 位圖句柄
HICON 圖標句柄
HMENU 菜單句柄
HFILE 文件句柄

三.Windows中的事件驅(qū)動程序設(shè)計

  1. 終于來到我們的重頭戲了,前面的都是概念理論,會比較難理解,所以接下來我們將通過實踐來看看這些概念理論是如何應(yīng)用的。(一定要動手哦,這樣才會提高的)
  2. Windows程序的執(zhí)行過程是:程序入口、定義窗口類、注冊窗口類、創(chuàng)建窗口、更新窗口、顯示窗口、消息循環(huán)、窗口消息處理、程序執(zhí)行實體結(jié)束。接下來我會逐一給大家詳細講講。

Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)

(1)程序入口函數(shù)

在C/C++語言程序中,其中入口函數(shù)都是函數(shù)main()。但是在Windows程序中,在這個入口函數(shù)由WinMain()來代替,其原型為:

	int WINAPI WinMain(HINSTANCE hInstance,//操作系統(tǒng)使用此值來標識 EXE (加載到) 可執(zhí)行文件。 某些函數(shù)需要實例句柄Windows例如,加載圖標或位圖。
					   HINSTANCE hPrevInstance, //沒有意義。 它用于 16 位Windows,但現(xiàn)在始終為零。
					   LPSTR     lpCmdLine,//用于指定程序的命令行,是指向字符串的指針類型。
					   int       nCmdShow//是一個標志,指示主應(yīng)用程序窗口是最小化、最大化還是正常顯示。
					   )
  1. WINAPI 是調(diào)用約定,調(diào)用約定定義函數(shù)如何從調(diào)用方接收參數(shù)。 例如,它定義參數(shù)在堆棧上的顯示順序。
  2. 函數(shù)返回 int 值,返回值不由操作系統(tǒng)使用,但可以使用返回值將狀態(tài)代碼傳達給你編寫的其他程序。

說實話,我們有時候?qū)W東西的時候要有分寸,什么叫做要有分寸?就是你要知道哪些東西你值得去深入學(xué)習(xí),哪些東西不必要過于深究。就拿上面的入口函數(shù)里的參數(shù)來講,你沒必要去真正的搞懂它為什么會這么用,就算你真正的搞懂了用處也不大,而且還費時間。所以,只要知道它的一些意義就行了。

所以,對于入口函數(shù),我們只要知道它是這么定義的就好了。


(2)定義窗口類

創(chuàng)建好程序入口函數(shù)后,接下來我們來看看如何定義一個窗口。定義窗口,就是定義窗口的基本屬性,如窗口邊框、窗口標題欄文字、窗口大小和位置、鼠標、背景色、處理窗口消息函數(shù)的名稱等。
窗口類定義通過給窗口類數(shù)據(jù)結(jié)構(gòu)WNDCLASS賦值來完成,該數(shù)據(jù)結(jié)構(gòu)中包含窗口類的各種屬性。我們先來看看WNDCLASS的結(jié)構(gòu)。

typedef struct tagWNDCLASS 
{
	UINT style;				//窗口的風(fēng)格
	WNDPROC lpfnWndProc;	//指定窗口的消息處理函數(shù)的窗口過程函數(shù)
	int cbClsExtra :		//指定分配給窗口類結(jié)構(gòu)之后的額外字節(jié)數(shù)
	int cbwndExtra;			//指定分配給窗口實例之后的額外字節(jié)數(shù)
	INSTANCE hInstance :	//指定窗口過程所對應(yīng)的實例句柄
	HICON hIcon;			//指定窗口的圖標
	HCURSOR hCursor;		//指定窗口的鼠標指針
	HBRUSH hbrBackground;	//指定窗口的背景畫刷
	LPCTSTR lpszMenuName;	//窗口的菜單資源名稱
	LPCTSTR lpszClassName;	//該窗口類的名稱
}WNDCLASS, * PWNDCLASS;

以上就是WNDCLASS的結(jié)構(gòu)體,在實際操作中,我不需要把這些代碼打出來,因為編譯器已經(jīng)把它隱含定義了,我們只需要調(diào)用并且對它們賦值就行了。

 	WNDCLASS wcex;							//定義一個窗口wcex
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(wcex.hInstance, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = szWindowClass;

有一些屬性成員有不同的值可以賦,不同的值不同的效果,我直接把定義窗口的總鏈接給大家,我就不在這里贅述了。
鏈接:詳細內(nèi)容.


(3)注冊窗口類

雖然我們定義了一個窗口,但是系統(tǒng)并不知道這個窗口的存在,所以接下來我們通過RegisterClass()函數(shù)來注冊窗口類。

	RegisterClass(&wcex);

注冊窗口類這一步很簡單。


(4)創(chuàng)建窗口類

在注冊窗口后,并沒有生成一個窗口實體,我們可以用函數(shù)CreateWindows()來創(chuàng)建窗口,其代碼為:

	HWND WINAPI CreateWindow(	//返回值是窗口句柄
	LPCTSTR lpClassName,		//窗口類名,要與注冊時指定的名稱相同
	LPCTSTR lpWindowName,		//窗口標題
	DWORD dwStyle,				//窗口樣式
	int X,						//窗口最初的x位置
	int y,						//窗口最初的y位置
	int nWidth,					//窗口最初的x大小
	int nHeight,				//窗口最初的y大小
	HWND hWndParent,			//父窗口句柄
	HMENU hMenu,				//窗口菜單句柄
	HINSTANCE hInstance,		//應(yīng)用程序?qū)嵗浔?/span>
	LPVOID lpParam				//指向一個傳遞給窗口的參數(shù)值的指針,以便后續(xù)在程序中加以引用
	);

其具體創(chuàng)建實例的代碼為

	hwnd=CreateWindow ( "HelloWin",
						"我的窗口",
						WS_OVERLAPPEDWINDOW,
						CW_USEDEFAULT,
						CW_USEDEFAULT,
						480,
						320,
						NULL,
						NULL,
						hInstance,
						NULL;

創(chuàng)建窗口時,我們只需要按照參數(shù)的位置給其逐一賦值即可,如果想知道詳細內(nèi)容可以點擊下方鏈接了解。
鏈接:詳細內(nèi)容


(5)顯示窗口

在創(chuàng)建窗口后,可以使用函數(shù)ShowWindows()顯示窗口,其代碼為

	BOOL ShowWindow(HWND hwnd,int nCmdShow);

其中,參數(shù) hWnd 指定要顯示的窗口的句柄,nCmdShow 表示窗口的顯示方式,可以指定為從函數(shù) WinMain()的nCmdshow 所傳遞而來的值。
由于函數(shù) Show Window()的執(zhí)行優(yōu)先級不高,所以當(dāng)系統(tǒng)正忙著執(zhí)行其他任務(wù)時,不會立即顯示窗口,此時,調(diào)用函數(shù) Update Window()立即顯示窗口,其代碼為

	UpdateWindow (HWND hwnd);

同時,函數(shù)UpdateWindow()還會給窗口過程發(fā)出 WM_ PAINT 消息使窗口客戶區(qū)重繪。


(6)消息循環(huán)

Windows 操作系統(tǒng)是基于消息控制機制進行工作的,系統(tǒng)生成應(yīng)用程序的消息隊列,并將產(chǎn)生的消息放人其中,各應(yīng)用程序不斷地從消息隊列中提取消息,并將其傳遞給窗口函數(shù)以進行相應(yīng)的處理。函數(shù)GetMessage()就是用于從應(yīng)用程序的消息隊列中按照先進先出的原則將消息一個個地取出來,并放入一個MSG結(jié)構(gòu)中。

我們先來看GetMessage()函數(shù)的結(jié)構(gòu):

	BOOL GetMessage(
					LPMSG lpMsg,			//指向一個MSG結(jié)構(gòu)的指針,用于保存信息
					HWND  hWnd,				//指定獲取具體窗口的消息
					UINT  wMsgFilterMin,	//指定獲取主消息值的最小值
					UINT  wMsgFilterMax		//指定獲取主消息值的最大值
					);

LPMSG lpMsg是用來存儲信息的,接收來的信息都存儲在lpMsg指針里。函數(shù)GetMessage()可以過濾消息,比如定義HWND hWnd,系統(tǒng)就只能接收來自hWnd窗口的消息,如果該參數(shù)為NULL(意思為空,就是什么都沒有),這時函數(shù)GetMessage()從該來自該應(yīng)用程序線程的所有窗口的消息隊列中獲取消息。wMsgFilterMin和wMsgFilterMax的作用是過濾,函數(shù)GetMessage()只能接收wMsgFilterMin和wMsgFilterMax之間的消息。如果wMsgFilterMin和wMsgFilterMax都為0,那么表示接收所有消息。

我們來看看怎么寫,應(yīng)用程序通過while循環(huán)來獲取消息,其代碼為:

	while (GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

函數(shù)TranslateMessage()的作用是將虛擬鍵消息轉(zhuǎn)換為字符消息,以滿足鍵盤輸入的需要。

函數(shù)DispatchMessage()的作用是將將消息分派到窗口過程。

當(dāng)且僅當(dāng)函數(shù)GetMessage()在獲取到消息WM_QUIT后,返回0值,于是程序退出消息循環(huán)。
有關(guān)函數(shù)GetMessage()的詳細內(nèi)容大家可以通過鏈接了解了解:鏈接.


(7)窗口函數(shù)

應(yīng)用程序獲取到消息后就調(diào)用窗口函數(shù)進行相應(yīng)處理,窗口函數(shù)定義了應(yīng)用程序?qū)邮盏牟煌⒌捻憫?yīng)及處理過程,其代碼為:

	LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
	{
	    HDC hdc;
	    PAINTSTRUCT ps;
		RECT rect;
		switch(message)
		{
			case WM_PAINT:
				hdc=BeginPaint(hwnd,&ps);
				GetClientRect(hwnd,&rect);
				DrawText(hdc,TEXT("hello win"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
				EndPaint(hwnd,&ps);
				return 0;
			case WM_DESTROY:
				PostQuitMessage(0);
				return 0;
		}
		return DefWindowproc(hwnd,message,wParam,lParam);
	}
  1. CALLBACK WndProc()是在應(yīng)用程序中定義的回調(diào)函數(shù),用于處理發(fā)送到窗口的消息。接收的消息都會在這里進行處理,并作出對應(yīng)的響應(yīng)。

  2. HWND hwnd 表示的是接收消息的窗口的句柄,這個句柄值與函數(shù) Create Window()返回的值相等,如果用同一個
    WNDCLASS 建立多個窗口,那么hwnd 標識特定的某個窗體。

  3. UINT message 為標識窗體的數(shù)值。

  4. WPARAM WParam 和 LPARAM IParam 都是 32 位消息的附加信息參數(shù)

  5. 程序本身通常自己不呼叫窗口消息處理程序,而由系統(tǒng)呼叫窗口消息處理函數(shù),應(yīng)用程序如果希望調(diào)用自身的窗口過程,那么可通過調(diào)用函SendMessage()來實現(xiàn)。

  6. 窗口函數(shù)使用 switch 和case 結(jié)構(gòu)處理消息,開發(fā)者只需根據(jù)消息在 case 語句中編寫相應(yīng)的處理程序即可。

  7. 窗口消息處理程序在處理消息時,必須返回一個0值。

  8. 在 case 語句的消息處理程序段中,一般都有對消息 WM_DESTROY的處理,該消息是關(guān)閉窗口時發(fā)出的。一般情況下,應(yīng)用程序調(diào)用函數(shù)PostQuitMessage()響應(yīng)這條消息,其原型為:

 void PostQuitMessage (int nExitcode);//nExitcode為應(yīng)用程序退出代碼
  1. 函數(shù) PosrQuicMessage()的作用是向應(yīng)用程序發(fā)出 WM_ QUIT 消息,并請求退出系統(tǒng)。

  2. 窗口消息處理程序不予處理的所有消息應(yīng)該被傳遞給名為DefWindowProc()的 Windows函數(shù),而且從函數(shù)DefWindowProc()傳回的值必須由窗口消息處理程序傳回。

    以上內(nèi)容大家有個基本的了解就行了。

由于我的水平有限,有些東西我不太懂,不好講,也是怕誤導(dǎo)(自己都不懂還講,那就是害人了),所以我找了一些官方鏈接給你們,官方的鏈接是講的很清楚的,大家可以去看看。
關(guān)于WNDPROC() 回調(diào)函數(shù):這.
關(guān)于DrawText()函數(shù):這里.
關(guān)于BeginPaint()函數(shù):here.
關(guān)于GetClientRect()函數(shù):點這.
關(guān)于EndPaint()函數(shù):點.
關(guān)于PostQuitMessage()函數(shù):它.
關(guān)于DefWindowproc()函數(shù):這哦.
在這里我隨便把總鏈接(關(guān)于Windows應(yīng)用程序的基本內(nèi)容)給大家:總鏈接.


四.實踐

講了這么多,我來給大家實踐一波吧。

#include <windows.h>
#include <tchar.h>
static TCHAR szWindowClass[] = _T("DesktopApp");//主窗口類名。
static TCHAR szTitle[] = _T("好好學(xué)習(xí)Windows應(yīng)用程序!");//出現(xiàn)在應(yīng)用程序標題欄中的字符串。
int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance, 
				   LPSTR     lpCmdLine,
				   int       nCmdShow
				   )
{
	LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);//要先聲明一下
	WNDCLASS wcex;							//定義一個窗口wcex
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc =WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(wcex.hInstance, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = szWindowClass;
	RegisterClass(&wcex);
	HWND hwnd=CreateWindow(szWindowClass,
						szTitle,
						WS_OVERLAPPEDWINDOW,
						CW_USEDEFAULT,
						CW_USEDEFAULT,
						480,
						320,
						NULL,
						NULL,
						hInstance,
						NULL
						);
	ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);
	MSG msg;
	while (GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
}
	LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
	{
	    HDC hdc;
	    PAINTSTRUCT ps;
		RECT rect;
		switch(message)
		{
			case WM_PAINT:
				hdc=BeginPaint(hwnd,&ps);
				GetClientRect(hwnd,&rect);
				DrawText(hdc,TEXT("加油!相信你自己!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
				EndPaint(hwnd,&ps);
				return 0;
			case WM_DESTROY:
				PostQuitMessage(0);
				return 0;
		}
		return DefWindowProc(hwnd, message, wParam, lParam);
	}

運行結(jié)果如下:
Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)
注意:你可能會發(fā)現(xiàn),個別代碼格式?jīng)]有見過,是版本的問題,主要是關(guān)于SAL,大家可以通過鏈接了解一下, SAL。


五.結(jié)語

哎。歷時差不多一天半,終于寫完了!寫完的第一個感覺就是好累?。。。∪绻闶钦J真看完的話,你會發(fā)現(xiàn),越到后面,我寫的情緒越來越低落了,沒辦法啊,上午上完體育課,一吃完飯就繼續(xù)寫都沒有休息,好累,但是就算累我也要把這個寫完,因為男人不能說不行!寫完之后我也挺開心的,因為我做了一件我從來沒有做過也從來沒有想過會做的事,成就感還是有的。寫博客還是很有意義的,不僅可以幫助我鞏固和拓展我的知識,挺高我的能力,也可以幫助到大家,為大家解答疑惑。我的第一篇博客就要結(jié)束了,回想寫作的過程經(jīng)歷了許多,有激動的時候,也有低落的時候,大家情緒低落的時候可以多運動運動或者聽聽歌,結(jié)束了。結(jié)束了?不可能的,我會繼續(xù)努力,這對我來說這是一個新的起點,我要學(xué)會改變自己,以新的自己去面對未來,過去的我可能會有點不好,但我相信如果我夠努力,努力提升自己,我可以達到我心里的那個目標。還有,我會根據(jù)我們上課的進度來更新。所以,可不可以點個贊,關(guān)注一下我呀,也可以在評論區(qū)留下你的足跡,有了你們的支持,我才會走的更遠!如果有什么問題,歡迎大家提問!最后,感謝大家!謝謝!我們后會有期!


(聲明一下:本人是大一新生,第一次寫博客,難免會出現(xiàn)錯誤,如果大家發(fā)現(xiàn)錯誤,請及時告訴我,我會及時更正,謝謝大家?。?/strong>文章來源地址http://www.zghlxwxcb.cn/news/detail-441325.html

到了這里,關(guān)于Windows應(yīng)用程序基礎(chǔ)(詳細,簡單易懂)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C#程序設(shè)計——Windows應(yīng)用程序開發(fā),1、初步掌握Windows應(yīng)用程序的設(shè)計方法。2、掌握常用窗體控件的使用方法。

    C#程序設(shè)計——Windows應(yīng)用程序開發(fā),1、初步掌握Windows應(yīng)用程序的設(shè)計方法。2、掌握常用窗體控件的使用方法。

    初步掌握Windows應(yīng)用程序的設(shè)計方法。 掌握常用窗體控件的使用方法。 1、設(shè)計一個Windows應(yīng)用程序,創(chuàng)建一個用于添加學(xué)生個人基本信息的窗體,窗體下方法同時滾動信息“天行健,君子以自強不息!”。 ? 要示如下: 如圖1所示,設(shè)計窗體界面控件的布局 圖1 學(xué)生信息管理

    2024年02月10日
    瀏覽(39)
  • Windows應(yīng)用程序——記事本

    Windows應(yīng)用程序——記事本

    本博客介紹如何使用Visual Studio 2019設(shè)計一個Windows應(yīng)用程序——記事本,通過學(xué)習(xí),可以進一步掌握MenuStrip(菜單)、ToolStrip(工具欄)、RichTextBox(高級文本框)和StatusStrip(狀態(tài)欄控件)等控件的使用,以及如何使用CommonDialog(公共對話框)實現(xiàn)對文本的存取、格式設(shè)置等

    2024年02月03日
    瀏覽(17)
  • 一個簡單的web應(yīng)用程序的創(chuàng)建

    一個簡單的web應(yīng)用程序的創(chuàng)建

    實體、屬性、關(guān)系 簡單介紹 簡單介紹

    2024年02月11日
    瀏覽(32)
  • Windows 通過端口占用查找應(yīng)用程序

    Windows 通過端口占用查找應(yīng)用程序

    對于開發(fā)人員在啟動項目的過程中也許會遇到程序使用 端口被占用的情況;如下: 遇到這種情況我們可以換一個端口,也可以查找是哪個程序暫用了這個端口;在Windows上我們可以通過如下方式去查找對應(yīng)的端口程序信息。 1、打開dos命令窗口 開始—-運行—-cmd,或者是wind

    2024年02月12日
    瀏覽(22)
  • windows驅(qū)動開發(fā)7:應(yīng)用程序和驅(qū)動程序的通信

    windows驅(qū)動開發(fā)7:應(yīng)用程序和驅(qū)動程序的通信

    一、基礎(chǔ)介紹 1.1 設(shè)備與驅(qū)動的關(guān)系 設(shè)備由驅(qū)動去創(chuàng)建,訪問一個設(shè)備,是首先得訪問驅(qū)動。如果驅(qū)動在卸載的時候沒有刪除符號,r3下也是不能去訪問設(shè)備的。 驅(qū)動程序和系統(tǒng)其他組件之間的交互是通過給設(shè)備發(fā)送或者接受發(fā)給設(shè)備的請求來交互的。換句話說,一個沒有任

    2023年04月08日
    瀏覽(27)
  • Qt實現(xiàn)一個簡單的應(yīng)用程序——桌面助手

    Qt實現(xiàn)一個簡單的應(yīng)用程序——桌面助手

    1、實現(xiàn)不同功能之間的界面切換 2、可查看日歷 3、可實現(xiàn)計時器功能 4、可實現(xiàn)計算器功能 5、ui界面及按鈕部件背景的設(shè)置 6、為軟件設(shè)置圖標 7、程序打包成軟件 ? ? ? 1、創(chuàng)建工程 ? ? ? ? New Project - Application - Qt Widgets Application然后下一步,使用ui界面文件能省去很多步驟

    2024年02月08日
    瀏覽(66)
  • 創(chuàng)建一個簡單的HTML Viewer應(yīng)用程序

    創(chuàng)建一個簡單的HTML Viewer應(yīng)用程序

    使用wxPython和內(nèi)嵌瀏覽器來創(chuàng)建一個簡單的HTML Viewer應(yīng)用程序。 在本篇文章中,我們將使用Python和wxPython模塊來創(chuàng)建一個簡單的HTML Viewer應(yīng)用程序。這個應(yīng)用程序可以讓用戶輸入HTML內(nèi)容,并在內(nèi)嵌瀏覽器中顯示該內(nèi)容的效果。 在開始之前,我們需要確保已經(jīng)安裝了以下軟件和

    2024年02月12日
    瀏覽(25)
  • Windows之應(yīng)用安裝程序 —— winget

    Windows之應(yīng)用安裝程序 —— winget

    大家都用過Linux中的應(yīng)用程序安裝工具,如yum、apt、rpm等工具進行安裝自己想要的一些工具或則軟件之類的,當(dāng)然Linux操作系統(tǒng)還是很強大的有很多類似的命令來安裝我們所需要的程序,但是windwos有沒有類似于windows這樣的應(yīng)用安裝程序呢?想必大家看標題就能看的出來肯定是

    2024年02月02日
    瀏覽(23)
  • Windows系統(tǒng)及應(yīng)用程序的安裝設(shè)置

    Windows最大的問題就是默認所有緩存,應(yīng)用程序及用戶空間都存放在系統(tǒng)盤中。導(dǎo)致系統(tǒng)盤膨脹很快,甚至到容納不下的程度。下面總結(jié)使用經(jīng)驗。 vs code安裝時可以選擇安裝到系統(tǒng)盤或其他盤。但插件以及緩存都默認存儲在系統(tǒng)盤中。下面介紹修改的方法。 緩存默認存放目錄

    2024年02月04日
    瀏覽(28)
  • 如何簽署exe或Windows應(yīng)用程序?

    如何簽署exe或Windows應(yīng)用程序?

    本文您將了解為什么要簽署Windows應(yīng)用程序以及如何簽署EXE或Windows應(yīng)用程序的步驟指南。 代碼簽名是一種確保軟件來自經(jīng)過驗證的正版軟件發(fā)行商的方法。使用代碼簽名證書唱WindowsEXE文件可確保可執(zhí)行文件或Windows應(yīng)用程序不會被惡意行為者更改或修改。 Windows應(yīng)用程序簽名過

    2024年02月09日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包