⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setserv.c

📁 这是一个用c语言和MiniGUI工具编写的数据采集服务器程序
💻 C
字号:
#include "setserv.h"#include "softkb.h"#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <sys/types.h>#define MSG_SERV_CHANGE     MSG_USER+1extern char serv_addr[16];extern int serv_port;DLGTEMPLATE setserver={	WS_BORDER | WS_CAPTION ,	WS_EX_NONE,	50,50,200,210,	STR_SET_SERVER,	0,0,8,NULL,	0};CTRLDATA 	setservctrl[]={	{		CTRL_STATIC,		WS_VISIBLE | SS_SIMPLE,		10,10,80,20,		IDC_STATIC_STR,		STR_ADDR_AND_PORT,		0,		WS_EX_NONE	},	{		CTRL_EDIT,		WS_VISIBLE | SS_SIMPLE,		10,30,120,26,		IDC_EDIT_ADDR,		STR_ADDR,		0,		WS_EX_NONE	},	{		CTRL_EDIT,		WS_VISIBLE | SS_SIMPLE,		140,30,40,26,		IDC_EDIT_PORT,		STR_PORT,		0,		WS_EX_NONE	},	{		CTRL_STATIC,		WS_VISIBLE | SS_SIMPLE,		10,76,70,20,		IDS_ADDR_NAME,		STR_ADDRNAME,		0,		WS_EX_NONE	},	{		CTRL_EDIT,		WS_VISIBLE | SS_SIMPLE,		10,106,120,26,		IDC_EDIT_ADDRNAME,		STR_ADDRNAME,		0,		WS_EX_NONE	},	{		CTRL_BUTTON,		WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,		150,106,40,26,		IDB_IME,		STR_IME,		0,		WS_EX_NONE	},	{		CTRL_BUTTON,		WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,		40,150,40,26,		IDOK,		STR_IDOK,		0,		WS_EX_NONE	},	{		CTRL_BUTTON,		WS_VISIBLE | BS_DEFPUSHBUTTON,		100,150,40,26,		IDCANCEL,		STR_IDCANCEL,		0,		WS_EX_NONE	}};int setservproc(HWND hdlg, int message, WPARAM wParam, LPARAM lParam){	static int x_pos;	static int y_pos;	static HWND hime = NULL;	switch(message){			case MSG_INITDIALOG:				{				int file = open("addrname", O_CREAT | O_RDONLY, 0600);				char name[18];				memset(name, 0, 18);					int n = read(file, name, 18);				if( n != 18 ) 					SetDlgItemText(hdlg, IDC_EDIT_ADDRNAME, STR_NODEF); 				else 					SetDlgItemText(hdlg, IDC_EDIT_ADDRNAME, name);				close(file);				return 1;				}			case MSG_LBUTTONDOWN:				x_pos = LOSWORD(lParam);				y_pos = HISWORD(lParam);				ClientToScreen(hdlg, &x_pos, &y_pos);				break;			case MSG_COMMAND:				switch(wParam){						case IDB_IME:							if( hime == NULL)								hime = NovaSKBWindow(hdlg, x_pos, y_pos);							else if( IsWindowVisible(hime) ) 								ShowWindow(hime, SW_HIDE);							else {								ShowWindow(hime, SW_SHOW);								MoveWindow(hime, x_pos, y_pos, 248, 98, TRUE);								}							break;										case IDOK:							{														HWND hwnd=GetDlgItem(hdlg, IDC_EDIT_ADDR);							GetWindowText(hwnd, serv_addr, 15);							serv_addr[15]='\0';							//MessageBox(NULL, serv_addr, "aa", MB_OK);							char port[5];							hwnd=GetDlgItem(hdlg, IDC_EDIT_PORT);							GetWindowText(hwnd, port, 4);							port[4]='\0';							serv_port=atoi(port);							hwnd=GetHosting(hdlg);																					char addrname[18];							GetDlgItemText(hdlg, IDC_EDIT_ADDRNAME, addrname, 18);							int file = open("addrname", O_CREAT | O_WRONLY | O_TRUNC, 0600);								write(file, addrname, 18);							close(file);														SendMessage(hwnd, MSG_SERV_CHANGE, (WPARAM)serv_addr, (LPARAM)serv_port);							}													case IDCANCEL:							hime = NULL;							EndDialog(hdlg, wParam);							break;					     }			break;	       	      }	return DefaultDialogProc(hdlg, message, wParam, lParam);}void setservdlg(HWND hparent){	setserver.controls=setservctrl;	DialogBoxIndirectParam(&setserver, hparent, setservproc, 0L);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -