www.pudn.com > 221315556.rar > MirStart.cpp


// MirStart.cpp : 定义应用程序的入口点。 
// 
 
#include "stdafx.h" 
#include "MirStart.h" 
#include  
#include "..\..\public\ini.h" 
#define MAX_LOADSTRING 100 
CHAR	g_szServerIp[128] = "127.0.0.1"; 
CHAR	g_szServerName[128] = "测试服务器"; 
LRESULT CALLBACK	About(HWND, UINT, WPARAM, LPARAM); 
VOID	RunGame(); 
int APIENTRY _tWinMain(HINSTANCE hInstance, 
                     HINSTANCE hPrevInstance, 
                     LPTSTR    lpCmdLine, 
                     int       nCmdShow) 
{ 
	INIHANDLE	hIni = iniopen("mir.ini"); 
	if( hIni != NULL ) 
	{ 
		inigetstring( hIni, "setup", "serveraddr", g_szServerIp ); 
//		inigetstring( hIni, "setup", ") 
		iniclose(hIni); 
	} 
	hIni = iniopen("ftp.ini"); 
	if( hIni != NULL ) 
	{ 
		inigetstring( hIni, "server", "server1name", g_szServerName ); 
		iniclose(hIni); 
	} 
	DialogBox(hInstance, (LPCTSTR)IDD_ABOUTBOX, GetDesktopWindow(), (DLGPROC)About); 
	RunGame(); 
	return 0; 
} 
VOID	WriteIni() 
{ 
	FILE	*	fp = fopen( "mir.ini", "w" ); 
	if( fp == NULL ) 
		return; 
	fprintf( fp, "[Setup]\n"); 
	fprintf( fp, "FontName=楷体\n" ); 
	fprintf( fp, "ServerAddr=%s\n", g_szServerIp ); 
	fprintf( fp, "Param1=\nParam2=\nParam3=\nParam4=\nParam5=\npatched=1\n" ); 
	fclose( fp ); 
 
	fp = fopen( "mirsetup.ini", "w" ); 
	if( fp == NULL ) 
		return; 
	fprintf( fp, "[Setup]\n"); 
	fprintf( fp, "FontName=楷体\n" ); 
	fprintf( fp, "ServerAddr=%s\n", g_szServerIp ); 
	fprintf( fp, "Param1=\nParam2=\nParam3=\nParam4=\nParam5=\npatched=1\n" ); 
	fclose( fp ); 
 
	fp = fopen( "ftp.ini", "w" ); 
	if( fp == NULL ) 
		return; 
	fprintf( fp, "[Server]\n" ); 
	fprintf( fp, "ServerCount=1\n" ); 
	fprintf( fp, "server1caption=%s\nserver1name=%s\n", g_szServerName, g_szServerName ); 
	fclose( fp ); 
} 
VOID	RunGame() 
{ 
	WriteIni(); 
	WinExec( "mir.dat", SW_NORMAL ); 
} 
// “关于”框的消息处理程序。 
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
	CHAR	szTemp[256]; 
	switch (message) 
	{ 
	case WM_INITDIALOG: 
		{ 
			SetDlgItemText( hDlg, IDT_SERVERNAME, g_szServerName ); 
			SetDlgItemText( hDlg, IDT_SERVERIP, g_szServerIp ); 
		} 
		return TRUE; 
 
	case WM_COMMAND: 
		if( LOWORD( wParam ) == ID_START ) 
		{ 
			GetDlgItemText( hDlg, IDT_SERVERIP, szTemp, 256 ); 
			if( strlen( szTemp) == 0 ) 
			{ 
				MessageBox( hDlg, "地址不可以为空", 0, 0 ); 
				break; 
			} 
			strncpy( g_szServerIp, szTemp, 128 ); 
			GetDlgItemText( hDlg, IDT_SERVERNAME, szTemp, 256 ); 
			if( strlen( szTemp) == 0 ) 
			{ 
				MessageBox( hDlg, "名字不可以为空", 0, 0 ); 
				break; 
			} 
			strncpy( g_szServerName, szTemp, 128 ); 
//			RunGame(); 
			EndDialog(hDlg, LOWORD(wParam)); 
			return TRUE; 
		} 
		if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)  
		{ 
			EndDialog(hDlg, LOWORD(wParam)); 
			return TRUE; 
		} 
		break; 
	} 
	return FALSE; 
}