📄 3-4.html
字号:
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY"> wsprintf(prbuf," \n");</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_WRITE, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_SENT, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_TIME, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_WRITES,(LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_BYTES, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> SetDlgItemText(hOurDlg, IDD_BITS, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> return;</P>
<P ALIGN="JUSTIFY">}</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * wshout_err()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>描述</FONT><FONT SIZE=3>:</P>
<P ALIGN="JUSTIFY"> *</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>通过错误代码获取相应的错误描述文本,与用户提供的错误前缀合</FONT><FONT SIZE=3> </P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>并,并显示在对话框中。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">void wshout_err (HWND hOurDlg, /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对话框的窗口句柄</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">		 int wsa_err, /* WinSock</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误代码</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">		 char far *err_prefix) /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误前缀字符串</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">	char errbuf[PRBUF_LEN];	 /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误描述字符串缓冲区</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>获取错误描述字符串</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">	WSAsperror(hInst, wsa_err, (LPSTR)errbuf, PRBUF_LEN);</P>
<P ALIGN="JUSTIFY">	 </P>
<P ALIGN="JUSTIFY">	/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>合并错误描述字符串与用户错误前缀字符串</FONT><FONT SIZE=3> */ </P>
<P ALIGN="JUSTIFY">	wsprintf((LPSTR)prbuf, "%s:%s", (LPSTR) err_prefix, (LPSTR)errbuf);</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">	/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>在对话框中显示错误文本</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">	SetDlgItemText(hOurDlg, IDD_COMMENT, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">	</P>
<P ALIGN="JUSTIFY">} /* end wshout_err() */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">/* eof */</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P><A NAME="_Toc336792892"><A NAME="_Toc336793368"></FONT><FONT FACE="Arial" SIZE=4>3.4.3.2 wshout.h</FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4>清单</A></A></P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>文件名</FONT><FONT SIZE=3>: WSHOUT.H</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifndef _WSHOUT_INC_</P>
<P ALIGN="JUSTIFY">#define _WSHOUT_INC_</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Windows 3.0 </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>头文件</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">#include <windows.h></P>
<P ALIGN="JUSTIFY">#define _INC_WINDOWS</P>
<P ALIGN="JUSTIFY">#include <winsock.h></P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifdef __cplusplus</P>
<P ALIGN="JUSTIFY">extern "C" {</P>
<P ALIGN="JUSTIFY">#endif /* __cplusplus */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">/* WSHOUT.C </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中定义的全局变量</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">extern	HANDLE	hInst;			/* Instance handle */</P>
<P ALIGN="JUSTIFY">extern	HWND	hOurWnd;		/* Main Window Handle */</P>
<P ALIGN="JUSTIFY">extern	int	ret;			/* work variable */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define PRBUF_LEN	50</P>
<P ALIGN="JUSTIFY">extern	char	prbuf[PRBUF_LEN];	/* work buffer */</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>菜单</FONT><FONT SIZE=3>IDs	*/</P>
<P ALIGN="JUSTIFY">#define IDM_START	101</P>
<P ALIGN="JUSTIFY">#define IDM_ABOUT	102</P>
<P ALIGN="JUSTIFY">#define IDM_STOP	103</P>
<P ALIGN="JUSTIFY">#define IDM_EXIT	104</P>
<P ALIGN="JUSTIFY">#define IDM_SETTINGS	105</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对话框控制</FONT><FONT SIZE=3>IDs	*/</P>
<P ALIGN="JUSTIFY">#define IDD_HNAME	200</P>
<P ALIGN="JUSTIFY">#define IDD_CONNECT	IDOK</P>
<P ALIGN="JUSTIFY">#define IDD_CANCEL	IDCANCEL</P>
<P ALIGN="JUSTIFY">#define IDD_WRITES	208</P>
<P ALIGN="JUSTIFY">#define IDD_BYTES	210</P>
<P ALIGN="JUSTIFY">#define IDD_BITS	212</P>
<P ALIGN="JUSTIFY">#define IDD_HELP	214</P>
<P ALIGN="JUSTIFY">#define IDD_SENT	230</P>
<P ALIGN="JUSTIFY">#define IDD_WRITE	232</P>
<P ALIGN="JUSTIFY">#define IDD_TIME	234</P>
<P ALIGN="JUSTIFY">#define IDD_COMMENT	236</P>
<P ALIGN="JUSTIFY">#define IDD_COHOST	240</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>“</FONT><FONT SIZE=3>Settings</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”对话框控制</FONT><FONT SIZE=3>IDs	*/</P>
<P ALIGN="JUSTIFY">#define IDS_BUFFLEN	300</P>
<P ALIGN="JUSTIFY">#define IDS_PORTNO	301</P>
<P ALIGN="JUSTIFY">#define IDS_BLOCK	302</P>
<P ALIGN="JUSTIFY">#define IDS_NOBLOCK	304</P>
<P ALIGN="JUSTIFY">#define IDS_TCP		306</P>
<P ALIGN="JUSTIFY">#define IDS_UDP		308</P>
<P ALIGN="JUSTIFY">#define IDS_CLIENT	310</P>
<P ALIGN="JUSTIFY">#define IDS_SERVER	312</P>
<P ALIGN="JUSTIFY">#define IDS_DEFAULT	314</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>“</FONT><FONT SIZE=3>About</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”对话框控制</FONT><FONT SIZE=3>IDs	*/</P>
<P ALIGN="JUSTIFY">#define IDA_COPYRIGHT	400</P>
<P ALIGN="JUSTIFY">#define IDA_APP_VERSION	402</P>
<P ALIGN="JUSTIFY">#define IDA_DLL_VERSION	404</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>程序控制</FONT><FONT SIZE=3>IDs	*/</P>
<P ALIGN="JUSTIFY">#define	WM_SELECT		WM_USER+16</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>全局变量</FONT><FONT SIZE=3>*/</P>
<P ALIGN="JUSTIFY">#define	SOCK_DISCARD	9	/* use the UDP ttytst source port for test */</P>
<P ALIGN="JUSTIFY">#define SOCK_SHOUT	32766	/* TCP port used for SHOUT & LISTEN	 */</P>
<P ALIGN="JUSTIFY">#define BUF_SIZE	8192</P>
<P ALIGN="JUSTIFY">#define WRITE_TIMER	1</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数原型</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);</P>
<P ALIGN="JUSTIFY">long FAR PASCAL ShoutWndProc(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL About(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL DialogProc(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL Settings(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL InitApp(HANDLE);</P>
<P ALIGN="JUSTIFY">void CheckThisBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void CheckThisProtoBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void CheckThisProgBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void ClearBoxes(HWND);</P>
<P ALIGN="JUSTIFY">SOCKET ResolveAndConnectHost(LPSTR, HWND, int, int);</P>
<P ALIGN="JUSTIFY">SOCKET GetSocketAndBind(HWND, int, int); </P>
<P ALIGN="JUSTIFY">long UWriteData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long UReadData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long TWriteData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long TReadData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">int ShoutBlockingHook (void);</P>
<P ALIGN="JUSTIFY">int PASCAL FAR WSAsperror (HANDLE, int, char far *, int);</P>
<P ALIGN="JUSTIFY">void wshout_err (HWND, int, char far *);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define bcopy(a,b,c)	_fmemcpy(b,a,c)</P>
<P ALIGN="JUSTIFY">char * _calloc (unsigned, unsigned);</P>
<P ALIGN="JUSTIFY">void _free (void *);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifdef _cplusplus</P>
<P ALIGN="JUSTIFY">}</P>
<P ALIGN="JUSTIFY">#endif /* __cplusplus */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#endif /* ifndef _WSHOUT_INC_ */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* eof */</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P><A NAME="_Toc336792893"><A NAME="_Toc336793369"></FONT><FONT FACE="Arial" SIZE=4>3.4.3.3 wshout.rc</FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4>清单</A></A></P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>文件名</FONT><FONT SIZE=3>: WSHOUT.RC</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#include <windows.h></P>
<P ALIGN="JUSTIFY">#include <winsock.h></P>
<P ALIGN="JUSTIFY">#include "wshout.h"</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">MainMenu MENU </P>
<P ALIGN="JUSTIFY">BEGIN</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>POPUP "&File"</P>
<P ALIGN="JUSTIFY">	BEGIN</P>
<P ALIGN="JUSTIFY">		MENUITEM "&Start", IDM_START</P>
<P ALIGN="JUSTIFY">		MENUITEM "Sto&p", IDM_STOP</P>
<P ALIGN="JUSTIFY">		MENUITEM SEPARATOR</P>
<P ALIGN="JUSTIFY">		MENUITEM "E&xit", IDM_EXIT</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>POPUP "&Options"</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>BEGIN</P>
<P ALIGN="JUSTIFY">		MENUITEM "&Settings ...", IDM_SETTINGS</P>
<P ALIGN="JUSTIFY">		MENUITEM SEPARATOR</P>
<P ALIGN="JUSTIFY">		MENUITEM "&About Shout...", IDM_ABOUT</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">ABOUTBOX DIALOG 22, 17, 144, 102</P>
<P ALIGN="JUSTIFY">CAPTION "About Shout for Windows"</P>
<P ALIGN="JUSTIFY">STYLE DS_MODALFRAME | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU</P>
<P ALIGN="JUSTIFY">BEGIN</P>
<P ALIGN="JUSTIFY">	CTEXT "Windows Shout", -1, 29, 5, 85, 8</P>
<P ALIGN="JUSTIFY">	CTEXT "Version", -1, 46, 13, 33, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">	CTEXT "WINSOCK.DLL \n FTP Software, Inc. \nCopyright 1993", IDA_COPYRIGHT, 38, 40, 68, 25, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">	CTEXT "Version", -1, 46, 67, 33, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">	CTEXT "num", IDA_DLL_VERSION, 79, 67, 18, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">	CONTROL "OK", 1, "BUTTON", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP, 56, 82, 32, 14</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>ICON "SHOUT", -1, 11, 8, 16, 16</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>CONTROL "num", IDA_APP_VERSION, "STATIC", SS_LEFT | WS_GROUP, 79, 13, 18, 8</P>
<P ALIGN="JUSTIFY">	CONTROL "using", -1, "STATIC", SS_CENTER | WS_GROUP, 55, 26, 30, 8</P>
<P ALIGN="JUSTIFY">END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SettingsDialog DIALOG 9, 16, 172, 117</P>
<P ALIGN="JUSTIFY">CAPTION "Settings"</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -