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

📄 wmain.cpp

📁 战场登陆器vc++源代码很好用的哦精彩精彩
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		else {
		}
	}
	else if (memcmp(G_cCmdLineTokenA, "/hitel", 6) == 0) {
		// 窍捞炮
		ZeroMemory(cIPaddr, sizeof(cIPaddr));
		strcpy(cIPaddr, (char *)(G_cCmdLineTokenB +6));
		ZeroMemory(cPort, sizeof(cPort));
		strcpy(cPort, (char *)(G_cCmdLineTokenC +8));

		strcpy(cPacket, (G_cCmdLineTokenD +4));
		strcat(cPacket, "\n");

		G_pCalcSocket = NULL;
		G_pCalcSocket = new class XSocket(G_hWnd, 100); 
		bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 

		if (bRet == TRUE) {
			G_pCalcSocket->bInitBufferSize(30000);
			iSended = G_pCalcSocket->iSendMsgBlockingMode(cPacket, strlen(cPacket));
			// 家南捞 楷搬登菌澜阑 钎矫.
			G_bIsCalcSocketConnected = TRUE;
			// 家南阑 稠喉废欧 葛靛肺 
			u_long arg = 1;
			ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
			// 捞亥飘 皋矫瘤 积己
			WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
		}
		else {
		}
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "wisetop", 7) == 0) {
		// 肺弊牢 霸烙
		// !!! 肺弊牢 霸烙苞 霸烙 劳矫飘 殿狼 家南篮 楷搬饶 iSendMsgBlockingMode()肺 皋矫瘤甫 焊郴搁 Xsocket 庆歹啊 促福扁 锭巩俊 梆官肺 楷搬捞 谗变促.
		// 弊矾骨肺 目池记父 蜡瘤窍绊 皋矫瘤绰 焊郴瘤 臼绰促.
	
		ZeroMemory(cCmdLine, sizeof(cCmdLine));
		strcpy(cCmdLine, G_cCmdLine);

		token = strtok(cCmdLine, seps);
		while (token != NULL) {
			if (memcmp(token, "IP:", 3) == 0) {
				// IP林家
				ZeroMemory(cTemp, sizeof(cTemp));
				strcpy(cTemp, (char *)(token+3));
				ZeroMemory(cIPaddr, sizeof(cIPaddr));
				strcpy(cIPaddr, cTemp);
			}
			else if (memcmp(token, "PO:", 3) == 0) {
				// Port 逞滚
				strcpy(cTemp, (char *)(token+3));
				ZeroMemory(cPort, sizeof(cPort));
				strcpy(cPort, cTemp);
			}
			token = strtok(NULL, seps);
		}
	
		// 家南 楷搬
		G_pCalcSocket = NULL;
		G_pCalcSocket = new class XSocket(G_hWnd, 100); 
		bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 

		if (bRet == TRUE) {
			G_pCalcSocket->bInitBufferSize(30000);
			// 家南捞 楷搬登菌澜阑 钎矫.
			G_bIsCalcSocketConnected = TRUE;
			// 家南阑 稠喉废欧 葛靛肺 
			u_long arg = 1;
			ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
			// 捞亥飘 皋矫瘤 积己
			WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
		}
	}
	
	else if (memcmp(G_cCmdLineTokenA, "gameexit", 8) == 0) { 
		// 霸烙 劳矫飘
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA, "mezzysys", 8) == 0) {
		// 皋瘤 矫胶袍
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "/pcbang", 7) == 0) { 
		// 霸烙规 村哪
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "moya", 4) == 0) { 
		// 牢磐内府酒 葛具 
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "joy", 3) == 0) { 
		// 败饭沥焊(牢器火 炼捞)
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "nice", 4) == 0) { 
		// 唱捞胶 牢磐齿
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "battletop", 9) == 0) { 
		// 硅撇啪
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "hanasoft", 8) == 0) { 
		// 窍唱家橇飘
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "chollian", 8) == 0) { 
		// 玫府救
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "iloveschool", 11) == 0) { 
		// 俊靛呼 家橇飘
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "dataq", 5) == 0) { 
		// 牢器抛扼 单捞鸥钮
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "gluon", 5) == 0) { 
		// 臂风柯
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "elthe", 5) == 0) { 
		// 奴荤恩目孤磐 elthe
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "shinbiro", 8) == 0) { 
		// 脚厚肺 shinbiro
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "mihosoft", 8) == 0) { 
		// 窍唱肺 v1.4334
		ZeroMemory(cCmdLine, sizeof(cCmdLine));
		strcpy(cCmdLine, G_cCmdLine);

		token = strtok(cCmdLine, seps);
		int iTokenCount = 0 ;
		while (token != NULL) {
			if (iTokenCount == 1) {
				// IP林家
				ZeroMemory(cTemp, sizeof(cTemp));
				strcpy(cTemp, (char *)(token));
				ZeroMemory(cIPaddr, sizeof(cIPaddr));
				strcpy(cIPaddr, cTemp);
			
			}
			else if (iTokenCount == 2) {
				// Port 逞滚
				strcpy(cTemp, (char *)(token));
				ZeroMemory(cPort, sizeof(cPort));
				strcpy(cPort, cTemp);
			}
			iTokenCount++ ;
			token = strtok(NULL, seps);
		}
	

		// 家南 楷搬
		G_pCalcSocket = NULL;
		G_pCalcSocket = new class XSocket(G_hWnd, 100); 
		bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 


		if (bRet == TRUE) {
			G_pCalcSocket->bInitBufferSize(30000);
			// 家南捞 楷搬登菌澜阑 钎矫.
			G_bIsCalcSocketConnected = TRUE;
			// 家南阑 稠喉废欧 葛靛肺 
			u_long arg = 1;
			ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
			// 捞亥飘 皋矫瘤 积己
			WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
		}
		HINSTANCE hDll;		
		if((hDll = LoadLibrary("cjconnector.dll")) == NULL) {
			//MessageBox(NULL, "don't find cjconnector.dll", "ERROR!", MB_OK);
			
			return 0;
		}

		typedef int (MYPROC)(SOCKET) ;
		MYPROC *pConnectorKey;
		pConnectorKey = (MYPROC *) GetProcAddress(hDll, "ConnectorKey");

		int iRet = 1 ;

		if (pConnectorKey== NULL) {
			MessageBox(NULL, "pConnectorKey is NULL", "ERROR!", MB_OK);
			FreeLibrary(hDll);
			return 0 ;
		}else if ((iRet=(*pConnectorKey)(G_pCalcSocket->m_Sock)) != 1) {
			FreeLibrary(hDll);
			return 0 ;
		}
		FreeLibrary(hDll);
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "korea", 5) == 0) { 
		// 内府酒村哪
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "engames", 7) == 0) { 
		// 内府酒村哪
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "hyunju", 6) == 0) { 
		// 泅林哪腔磐
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "hanstay", 7) == 0) { 
		// 茄胶抛捞村哪
		CPSocketConnet() ;
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "unitel", 6) == 0) { 
		// v2.03 苞陛 茄胶抛捞村哪
	char  * token, cIPaddr[20], cPort[20], cTemp[256], cCmdLine[256]; ;
	char seps[] = "& ";
	BOOL bRet;

	ZeroMemory(cCmdLine, sizeof(cCmdLine));
	strcpy(cCmdLine, G_cCmdLine);

	token = strtok(cCmdLine, seps);
	while (token != NULL) {
		if (memcmp(token, "IP:", 3) == 0) {
			// IP林家
			ZeroMemory(cTemp, sizeof(cTemp));
			strcpy(cTemp, (char *)(token+3));
			ZeroMemory(cIPaddr, sizeof(cIPaddr));
			//strcpy(cIPaddr, cTemp);
			strcpy(cIPaddr, cTemp);
		}
		else if (memcmp(token, "PO:", 3) == 0) {
			// Port 逞滚
			strcpy(cTemp, (char *)(token+3));
			ZeroMemory(cPort, sizeof(cPort));
			strcpy(cPort, cTemp);
		}
		token = strtok(NULL, seps);
	}

	// 家南 楷搬
	G_pCalcSocket = NULL;
	G_pCalcSocket = new class XSocket(G_hWnd, 100); 
	//bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL);
	bRet = G_pCalcSocket->bBlockConnect("211.45.21.1", atoi(cPort), NULL);
	//G_pCalcSocket->iSendMsg( "nothing", 10, NULL );
	if (bRet == TRUE) {
		G_pCalcSocket->bInitBufferSize(30000);
		// 家南捞 楷搬登菌澜阑 钎矫.
		G_bIsCalcSocketConnected = TRUE;
		// 家南阑 稠喉废欧 葛靛肺 
		u_long arg = 1;
		ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
		// 捞亥飘 皋矫瘤 积己
		WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
		G_pCalcSocket->iSendMsg( "nothing", 10, NULL );
	}
	else {
	}
	}
	else if (memcmp(G_cCmdLineTokenA_Lowercase, "/egparam", 8) == 0) { 
		// 茄固福
		char bstrCmdLine[1024];
		ZeroMemory(cCmdLine, sizeof(cCmdLine));
		strcpy(cCmdLine, G_cCmdLine);

		HRESULT hr = ::CoInitialize(NULL);

		ILogInPtr pClient;
		hr = pClient.CreateInstance(__uuidof(LogIn));
		if(FAILED(hr))
		{
			MessageBox(NULL, "ERROR CreateInstance ...\n", "ERROR!", MB_OK);
			return 0;
		}
		strcpy(bstrCmdLine,GetCommandLine());

		pClient->Parameters = (_bstr_t)cCmdLine;

		ZeroMemory(cIPaddr, sizeof(cIPaddr));
		strcpy(cIPaddr, _bstr_t(pClient->IP).operator const char*( ));

		ZeroMemory(cPort, sizeof(cPort));
		wsprintf(cPort, "%d", pClient->Port);

		G_pCalcSocket = NULL;
		G_pCalcSocket = new class XSocket(G_hWnd, 100); 
		//bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 
		bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 
		if (bRet == TRUE) {
			G_pCalcSocket->bInitBufferSize(30000);
			// 家南捞 楷搬登菌澜阑 钎矫.
			G_bIsCalcSocketConnected = TRUE;
			// 家南阑 稠喉废欧 葛靛肺 
			u_long arg = 1;
			ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
			// 捞亥飘 皋矫瘤 积己
			WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
		}
		else {
		}
		

		unsigned int nRet;
		hr = pClient->LogIn( G_pCalcSocket->m_Sock, pClient->Parameter, &nRet, 10000 );
		
	}

	G_dwCalcSocketTime = NULL;
	_endthread(); 
	return 0;
}

// v2.03 苞陛 
void CPSocketConnet() {
	char  * token, cIPaddr[20], cPort[20], cTemp[256], cCmdLine[256]; ;
	char seps[] = "& ";
	BOOL bRet;

	ZeroMemory(cCmdLine, sizeof(cCmdLine));
	strcpy(cCmdLine, G_cCmdLine);

	token = strtok(cCmdLine, seps);
	while (token != NULL) {
		if (memcmp(token, "IP:", 3) == 0) {
			// IP林家
			ZeroMemory(cTemp, sizeof(cTemp));
			strcpy(cTemp, (char *)(token+3));
			ZeroMemory(cIPaddr, sizeof(cIPaddr));
			strcpy(cIPaddr, cTemp);
		}
		else if (memcmp(token, "PO:", 3) == 0) {
			// Port 逞滚
			strcpy(cTemp, (char *)(token+3));
			ZeroMemory(cPort, sizeof(cPort));
			strcpy(cPort, cTemp);
		}
		token = strtok(NULL, seps);
	}

	// 家南 楷搬
	G_pCalcSocket = NULL;
	G_pCalcSocket = new class XSocket(G_hWnd, 100); 
	bRet = G_pCalcSocket->bBlockConnect(cIPaddr, atoi(cPort), NULL); 

	if (bRet == TRUE) {
		G_pCalcSocket->bInitBufferSize(30000);
		// 家南捞 楷搬登菌澜阑 钎矫.
		G_bIsCalcSocketConnected = TRUE;
		// 家南阑 稠喉废欧 葛靛肺 
		u_long arg = 1;
		ioctlsocket(G_pCalcSocket->m_Sock, FIONBIO, &arg);
		// 捞亥飘 皋矫瘤 积己
		WSAAsyncSelect(G_pCalcSocket->m_Sock, G_hWnd, WM_USER_CALCSOCKETEVENT, FD_CLOSE);
	}
	else {
	}
}
#endif

void Initialize(char * pCmdLine)
{
 int iX, iY, iSum;

 int     iErrCode;
 WORD	 wVersionRequested;
 WSADATA wsaData;

	// 家南狼 滚怜阑 眉农茄促.
	wVersionRequested = MAKEWORD( 2, 2 ); 
	iErrCode = WSAStartup( wVersionRequested, &wsaData );
	if ( iErrCode ) {
		MessageBox(G_hWnd, "Winsock-V1.1 not found! Cannot execute program.","ERROR",MB_ICONEXCLAMATION | MB_OK);
		PostQuitMessage(0);
		return;
	}

	if (G_pGame->bInit(G_hWnd, G_hInstance, pCmdLine) == FALSE) {
		PostQuitMessage(0);
		return;
	}
	
	// 0.5檬俊 茄锅究 鸥捞赣 惯积 
	G_mmTimer = _StartTimer(1000);

	for (iX = 0; iX < 64; iX++)
	for (iY = 0; iY < 510; iY++) {
		
		iSum = iX + (iY - 255);
		if (iSum <= 0)  iSum = 1;
		if (iSum >= 31) iSum = 31;
		G_iAddTable31[iX][iY] = iSum; 

		iSum = iX + (iY - 255);
		if (iSum <= 0)  iSum = 1;
		if (iSum >= 63) iSum = 63;
		G_iAddTable63[iX][iY] = iSum; 

		if ((iY - 255) < iX) G_iAddTransTable31[iY][iX] = iX;
		else if ((iY - 255) > 31) G_iAddTransTable31[iY][iX] = 31;
		else G_iAddTransTable31[iY][iX] = iY-255;

		if ((iY - 255) < iX) G_iAddTransTable63[iY][iX] = iX;
		else if ((iY - 255) > 63) G_iAddTransTable63[iY][iX] = 63;
		else G_iAddTransTable63[iY][iX] = iY-255;
	}

	// 静饭靛 烹脚阑 困茄 捞亥飘 积己 
//	G_hEvent1 = CreateEvent(NULL, FALSE, FALSE, NULL);
}

LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata)
{
    HKEY hkey;
    LONG retval = RegOpenKeyEx(key, subkey, 0, KEY_QUERY_VALUE, &hkey);

    if (retval == ERROR_SUCCESS) {
        long datasize = MAX_PATH;
        TCHAR data[MAX_PATH];
        RegQueryValue(hkey, NULL, data, &datasize);
        lstrcpy(retdata,data);
        RegCloseKey(hkey);
    }

    return retval;
}

void GoHomepage() 
{
#if DEF_LANGUAGE == 1
	LPCTSTR	url = "http://www.helbreath.com.tw/";
#elif DEF_LANGUAGE == 2
	LPCTSTR	url = "http://www.helbreath.com.cn/";
#else
	LPCTSTR	url = "http://211.51.62.243/";
#endif
#ifdef _DEBUG
	return;
#endif
	int		showcmd = SW_SHOW;
	char	key[MAX_PATH + MAX_PATH];
	
    // First try ShellExecute()
    HINSTANCE result = ShellExecute(NULL, "open", url, NULL,NULL, showcmd);

    // If it failed, get the .htm regkey and lookup the program
    if ((UINT)result <= HINSTANCE_ERROR) {

        if (GetRegKey(HKEY_CLASSES_ROOT, ".htm", key) == ERROR_SUCCESS) {
            lstrcat(key, "\\shell\\open\\command");

            if (GetRegKey(HKEY_CLASSES_ROOT,key,key) == ERROR_SUCCESS) {
                char *pos;
                pos = strstr(key, "\"%1\"");
                if (pos == NULL) {                     // No quotes found
                    pos = strstr(key, "%1");      // Check for %1, without quotes 
                    if (pos == NULL)                   // No parameter at all...
                        pos = key+lstrlen(key)-1;
                    else
                        *pos = '\0';                   // Remove the parameter
                }
                else
                    *pos = '\0';                       // Remove the parameter

                lstrcat(pos, " ");
                lstrcat(pos, url);

                result = (HINSTANCE) WinExec(key,showcmd);
            }
        }
    }
}

⌨️ 快捷键说明

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