資源簡介
C語言模擬ARQ程序(停等式),本程序為壓縮的工程文件,解壓后即可修改源代碼,附有生成的EXE文件,窗口為WINAPI創建,具體通信由SOCKET實現,并且兼具有通信計時功能。
代碼片段和文件信息
//=========================================================================
//?停等式ARQ_s.cpp?:?Defines?the?entry?point?for?the?application.
//?通信網絡,理想信道的數據鏈路層停等式ARQ協議,接收端程序
//?VC?2013????2015.11.29???
//?13020013?
//?曹振翔
//=========================================================================
#include?
//-------------------------------------------------------------------------
//?Global?Variables:
HINSTANCE?hInst; //?實例句柄,方便各程序訪問
HWND?hWnd; //?主窗口句柄,方便各程序訪問
char?title[]?=?“?停等式ARQ接收端?“; //?窗口標題?The?title?bar?text
int?WinX0?=?550?WinY0?=?200?WinW?=?500?WinH?=?400; //?窗口位置、大小
LRESULT?CALLBACK?WndProc(HWND?UINT?WPARAM?LPARAM);
//-------------------------------------------------------------------------
int?APIENTRY?WinMain(HINSTANCE?hI?HINSTANCE?hP?LPSTR?lp?int?nC)
{
MSG?msg;//信息存儲數組,tagMSG類型
hInst?=?hI;?//?Store?instance?handle?in?our?global?variable
WNDCLASS?wc;//窗口類
memset(&wc?0?sizeof(WNDCLASS));//在一段內存塊中填充某個給定的值,清零操作的快速方法
wc.lpfnWndProc?=?(WNDPROC)WndProc;//窗口處理函數
wc.hInstance?=?hI;//窗口對應實例句柄
wc.hIcon?=?LoadIcon(NULL?IDI_WINLOGO);//窗口的最小化圖標
wc.hbrBackground?=?(HBRUSH)(COLOR_INACTIVECAPTION);//窗口背景色淺藍
wc.lpszClassName?=?“Win32API“;//窗口類名
RegisterClass(&wc);//用RegisterClassA來注冊窗口,應用程序通知系統被注冊類的窗口的消息使用ANSI字符集的文本和字符參數
//特殊窗口1,始終在頂層,任務欄不顯示。
hWnd?=?CreateWindowEx(WS_EX_OVERLAPPEDWINDOW?“Win32API“?title//窗口的擴展風格,指向注冊類名的指針,指向窗口名稱的指針
WS_OVERLAPPEDWINDOW//窗口風格:帶對話框邊框風格的窗口|?窗口具有標題欄|標題條上具有控制菜單(要有叉叉)的窗口
WinX0?WinY0?WinW?WinH //?窗口位置、大小
NULL?NULL?hI?NULL);//父窗口的句柄,菜單的句柄或是子窗口的標識符,應用程序實例的句柄,指向窗口的創建數據
//Store?window?handle?in?our?global?variable
if?(!hWnd)???return?FALSE;//窗口創建失敗
ShowWindow(hWnd?nC);
//?Main?message?loop:
while?(GetMessage(&msg?NULL?0?0))//從線程里取一個數,返回非0值
{
TranslateMessage(&msg);//將虛擬鍵消息轉換為字符消息
DispatchMessage(&msg);//將消息傳給窗口,再由窗口按表進行翻譯
//j++;
}
return?msg.wParam;
}
//-------------------------------------------------------------------------
//按鈕
HWND?CreateButton(char?*Titelint?x0int?y0int?wint?hint?IDHWND?hWHINSTANCE?hInst)
{
return?CreateWindowEx(WS_EX_PALETTEWINDOW“BUTTON“Titel
WS_VISIBLE?|?WS_CHILD?
x0y0wh?hW(HMENU)IDhInstNULL);
}
//-------------------------------------------------------------------------
//單行編輯框
HWND?CreateEdit(char?*Titelint?x0int?y0int?wint?hint?IDHWND?hWHINSTANCE?hInst)
{
return?CreateWindowEx(WS_EX_CLIENTEDGE“EDIT“Titel
WS_VISIBLE?|?WS_CHILD?|
????ES_LEFT?|?ES_MULTILINE?
x0y0wh?hW
(HMENU)IDhInstNULL);
}
//-------------------------------------------------------------------------
//單行文本
HWND?CreateText(char?*Titel?int?x0?int?y0?int?w?int?h?int?ID?HWND?hW?HINSTANCE?hInst)
{
return?CreateWindowEx(WS_EX_CLIENTEDGE?“EDIT“?Titel
WS_VISIBLE?|
WS_CHILD
x0?y0?w?h?hW
(HMENU)ID?hInst?NULL);
}
//-------------------------------------------------------------------------
//多行文本框
HWND?CreateMem
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-09?16:56??ARQ程序?停等式(正確)\
?????目錄???????????0??2015-12-17?10:08??ARQ程序?停等式(正確)\ARQ0\
?????文件?????????734??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ.dsw
?????文件???????58368??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ.ncb
?????文件???????58880??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ.opt
?????文件????28180480??2015-12-17?10:08??ARQ程序?停等式(正確)\ARQ0\ARQ.sdf
?????文件????????1780??2015-12-03?15:09??ARQ程序?停等式(正確)\ARQ0\ARQ.sln
?????文件???????29184??2015-12-17?10:08??ARQ程序?停等式(正確)\ARQ0\ARQ.v12.suo
?????目錄???????????0??2015-12-10?17:42??ARQ程序?停等式(正確)\ARQ0\ARQ_r\
?????文件????????9080??2015-12-10?17:42??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.cpp
?????文件????????4010??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.dsp
?????文件?????????535??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.dsw
?????文件???????58368??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.ncb
?????文件??????????24??2015-12-03?11:26??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.opensdf
?????文件???????53760??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.opt
?????文件?????????246??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.plg
?????文件????23810048??2015-12-03?11:27??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.sdf
?????文件?????????876??2015-12-02?21:59??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.sln
?????文件???????13312??2015-12-02?21:59??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.suo
?????文件????????6843??2015-12-03?15:09??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.vcxproj
?????文件?????????901??2015-12-03?15:09??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.vcxproj.filters
?????文件?????????143??2015-11-28?19:29??ARQ程序?停等式(正確)\ARQ0\ARQ_r\ARQ_r.vcxproj.user
?????目錄???????????0??2015-12-10?18:15??ARQ程序?停等式(正確)\ARQ0\ARQ_s\
?????文件???????11261??2015-12-10?18:15??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.cpp
?????文件????????4010??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.dsp
?????文件?????????535??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.dsw
?????文件???????58368??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.ncb
?????文件??????????24??2015-12-03?11:26??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.opensdf
?????文件???????53760??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.opt
?????文件?????????246??2001-12-31?06:00??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.plg
?????文件????23810048??2015-12-03?11:27??ARQ程序?停等式(正確)\ARQ0\ARQ_s\ARQ_s.sdf
............此處省略112個文件信息
- 上一篇:MFC五子棋源碼以及exe文件
- 下一篇:華科軟件工程作業_學生管理系統
評論
共有 條評論