int main(void)
{
#ifdef chat
    InitScreen();
    InitSystem();
    ClientConnectChat(1);
    MessageType();
    ClientConnectChat(0);

    DeleteScreen();
    EndClient();

#endif
#ifdef server

    ProcInit();
    printf("server end \n");

#endif
#ifdef test

    InitSystem();

#endif
    return 0;
}
Exemple #2
0
int main(int argc,char *argv[])
{
    /* ウインドウの初期化 */
    if(InitWindow() == -1) {
        fprintf(stderr,"setup failed : InitWindows\n");
        return -1;
    }

    InitSystem();

    while(gState != GAME_END) {
        switch(gState) {
        case GAME_TITLE:
            GameTitle();
            break;
        case GAME_EDIT:
            GameEdit();
            break;
        case GAME_MAIN:
            GameMain();
            break;
        default:
            break;
        }
    }

    DestroyWindow();
    return 0;
}
Exemple #3
0
int main(int argc, char* argv[])
{
	Game game;

	InitSystem(display.width, display.height);

	if (game.Init() && game.Load())
	{
		const float frameRate = 1000.0f / 60.0f;
		float previousTime = 0.0f;
		while (game.IsRunning())
		{
			float now = (float)SDL_GetTicks();
			float deltaMS = (now - previousTime) / 1000.0f;
			if (deltaMS > frameRate) { deltaMS = frameRate; }
			previousTime = now;

			game.Update(deltaMS);
			display.Update();

			if (game.IsRunning())
			{
				game.Render(deltaMS);
				SDL_GL_SwapBuffers();	
			}
		}
	}

	return 0;
}
void BeginAuth()
{
	const wchar_t* user;
	const wchar_t* pass;
	bool aborted = false;	
	while (!aborted)
	{
		aborted = !DisplayLoginForm(&user, &pass);

		if (!aborted)
		{
			char username[CREDUI_MAX_USERNAME_LENGTH];
			char password[CREDUI_MAX_PASSWORD_LENGTH];
			WideCharToMultiByte(CP_UTF8, 0, user, -1, username, sizeof(username), NULL, NULL);
			WideCharToMultiByte(CP_UTF8, 0, pass, -1, password, sizeof(password), NULL, NULL);		

			strncpy(AuthUsername, username, sizeof(username));
			strncpy(AuthPassword, password, sizeof(password));

			bool result = InitSystem(AuthUsername, AuthPassword, false);

			if (result)
			{
				return;
			}
		}

		
	}
}
Exemple #5
0
double System::GetCPUUsage() {
    if (!initiated) {
        InitSystem();
    }

    FILETIME ftime, fsys, fuser;
    ULARGE_INTEGER now, sys, user;

    GetSystemTimeAsFileTime(&ftime);
    memcpy(&now, &ftime, sizeof(FILETIME));

    GetProcessTimes(self, &ftime, &ftime, &fsys, &fuser);
    memcpy(&sys, &fsys, sizeof(FILETIME));
    memcpy(&user, &fuser, sizeof(FILETIME));

    double percent = (double) ((sys.QuadPart - lastSysCPU.QuadPart) + (user.QuadPart - lastUserCPU.QuadPart));
    percent /= (double) (now.QuadPart - lastCPU.QuadPart);
    percent /= numProcessors;
    percent *= 100.0;

    lastCPU = now;
    lastSysCPU = sys;
    lastUserCPU = user;

    return percent;
}
Exemple #6
0
int main(int argc, char *argv[])
{
    // 配置系统环境
    InitSystem();
    // 申名APP对像
    QGuiApplication app(argc, argv);

    // 注册QML类, 工程以UI驱动C++代码,而非C++驱动UI
    InitQMLType();

    // 实例化对像
    NetworkManager::getInstance();
    LocalStore::getInstance();

    // 安装字体
    InitFonts();
    // 加载主QML
    QQmlApplicationEngine engine;

    engine.rootContext()->setContextProperty("cpp", GlobalObject::getInstance());
#if DEVELOP
    engine.load(QUrl(QStringLiteral("qml/MainDevelop.qml")));
#else
    engine.load(QUrl(QStringLiteral("qrc:/qml/Main.qml")));
#endif

    return app.exec();
}
Exemple #7
0
extern	int
main(
	int argc,
	char **argv)
{
	FILE_LIST	*fl;
	char		*name;
	int i;
	
	SetDefault();
	fl = GetOption(option, argc, argv, NULL);
	
	InitMessage("dbmaster", NULL);
	
	for (i = 0; i < argc; ++i) {
	  dbgprintf("%s ", argv[i]);
	}
	
	if (fl && fl->name) {
		name = fl->name;
	} else {
		name = "";
	}
	InitSystem(name);
	Message("dbmaster start");
	ExecuteServer();
	Message("dbmaster end");
	
	return	(0);
}
int main(int argc, char **argv)
{
	FILE *f;
	double atk,def;
	int t=0;
	
	InitSystem();
	
	Bpp=4;
	XRes=800+XR; YRes=400; 

	ScreenBuf=(unsigned char*)malloc(XRes*YRes*Bpp);
	memset(ScreenBuf,0,XRes*YRes*Bpp);
	InitSDL();	
	
	while (1)
	{
		int Ch=ReadKey();
		
		if (Ch=='q') exit(0);
		Iterate();
		Survey(&atk,&def);
		
		f=fopen("output.txt","a");
		fprintf(f,"%d %.6g %.6g\n",t,atk,def);
		fclose(f);
		t++;
	}
}
Exemple #9
0
extern int main(int argc, char **argv) {
  struct sigaction sa;

  SetDefault();
  GetOption(option, argc, argv, NULL);
  InitMessage("monitor", Log);

  if (!fRedirector) {
    fNoCheck = TRUE;
  }

  InitSystem();
  Message("start system");

  InitServers();

  sa.sa_handler = (void *)RestartSystem;
  sa.sa_flags |= SA_RESTART;
  if (sigaction(SIGHUP, &sa, NULL) != 0) {
    Error("sigaction(2) failure");
  }

  StartSetup();

  while (fLoop) {
    fRestart = TRUE;
    StartServers();
    ProcessMonitor();
  }
  return (0);
}
Exemple #10
0
		Socket::Socket(void)
		{
			// Init class variables.
			connection = 0;
			recvThread = 0;
			ContinueRecieving = false;
			recvCallbackFunc = 0;

			// Check for Winsock initialization.
			if (!SystemInitialized)
			{
				InitSystem();
			}

			// Create the native socket.
			if (AppSocketCount < MaxAllowedSockets)
			{
				create();
			}
			else
			{
				Log::Msg(String("The maximum allowed number of sockets is ") + MaxAllowedSockets + " and sockets currently in use by this app are " + AppSocketCount, Log::FatalError);
			}

			AppSocketCount++;
		}
Exemple #11
0
int main(int argc, char *argv[])
{
    VMVALUE lineNumber = 0;
    HandlerData data;
    ImageHdr *image;
    System *sys;

    VM_printf("ebasic 0.003\n");

    VM_sysinit(argc, argv);

    sys = InitSystem(space, sizeof(space));
    sys->getLine = TermGetLine;
    sys->getLineCookie = &lineNumber;

    if (!(image = AllocateImage(sys, IMAGESIZE)))
        return 1;

    sys->freeMark = sys->freeNext;
     
    data.sys = sys;
    data.image = image;
    
    EditWorkspace(sys, userCmds, (Handler *)CompileAndExecute, &data);
    
    return 0;
}
Exemple #12
0
PROCESS_MEMORY_COUNTERS_EX GetMemoryInfo() {
    if (!initiated) InitSystem();

    PROCESS_MEMORY_COUNTERS_EX info;
    GetProcessMemoryInfo(self, (PROCESS_MEMORY_COUNTERS*)&info, sizeof(info));

    return info;
}
void AuthDedicated()
{
	bool result = InitSystem("", "", true);
	if (!result)
	{
		MessageBoxW(NULL, L"Could not initiate your dedicated session, please try again.", L"Error", MB_OK | MB_ICONERROR);
	}
}
Exemple #14
0
int main() {
	FILE *fp;
	fp = fopen("filesystem", "rb");//打开文件,用二进制的方式读取
	InitSystem(fp);			//初始化系统
	InitCommand();			//初始化命令
	Run(fp);				//运行
	return 0;
}
Exemple #15
0
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, LPSTR cmdLine, int cmdShow)
{
	CreateConsole();
	//Instance of the engine's core 
	InitSystem(hInstance, "Kai engine", 1280, 720);

	//Start the engine
	Run();
	system("pause");
	return 0;
}
Exemple #16
0
/******************
 *      MAIN      *
 ******************/
int main(void) {

    InitSystem();

    // inicia primera conversión
    ADCSRA |= _BV(ADSC);

    // deja libre al micro.
    while(1){
    }

    return 0;
}
Exemple #17
0
extern int main(int argc, char **argv) {
  struct sigaction sa;

  // PGID変更
  setsid();

  memset(&sa, 0, sizeof(struct sigaction));
  sa.sa_handler = SIG_IGN;
  sa.sa_flags |= SA_RESTART;
  sigemptyset(&sa.sa_mask);
  if (sigaction(SIGCHLD, &sa, NULL) != 0) {
    Error("sigaction(2) failure");
  }

  memset(&sa, 0, sizeof(struct sigaction));
  sa.sa_handler = (void *)StopProcess;
  sa.sa_flags |= SA_RESTART;
  sigemptyset(&sa.sa_mask);
  if (sigaction(SIGHUP, &sa, NULL) != 0) {
    Error("sigaction(2) failure");
  }

  prctl(PR_SET_PDEATHSIG, SIGHUP);

  SetDefault();
  (void)GetOption(option, argc, argv, NULL);
  if (getenv("GLSERVER_DEBUG") != NULL) {
    fDebug = TRUE;
  }

  InitSystem();

#ifdef USE_SSL
  if (fSsl) {
    Message("glserver start (ssl)");
    if (fVerifyPeer) {
      Message("verify peer");
    } else {
      Message("no verify peer");
    }
  } else {
    Message("glserver start");
  }
#else
  Message("glserver start");
#endif
  ExecuteServer();
  Message("glserver end");
  return (0);
}
Exemple #18
0
int main(void)
{

    uint8_t buffer[512];
    uint16_t length = 0;
    uint8_t ret = 0;
    DeviceConfig devState;
    InitSystem(&devState);
    
    //HAL_Delay(1000);
    while (1)
    {
        WaitForCommand(&devState);
    }

}
Exemple #19
0
extern int main(int argc, char **argv) {
  FILE_LIST *fl;
  char *name;

  SetDefault();
  fl = GetOption(option, argc, argv, NULL);
  InitMessage("msgd", NULL);

  if ((fl != NULL) && (fl->name != NULL)) {
    name = fl->name;
  } else {
    name = NULL;
  }
  InitSystem();
  ExecuteServer(name);
  return (0);
}
Exemple #20
0
extern	int
main(
	int		argc,
	char	**argv)
{
	struct sigaction sa_segv, sa_stop;
	FILE_LIST	*fl;
	int		rc;

ENTER_FUNC;
	InitNET();

	memset( &sa_segv, 0, sizeof(struct sigaction) );
	sa_segv.sa_flags = SA_SIGINFO;
	sa_segv.sa_sigaction = SegvProcess;
	sigemptyset (&sa_segv.sa_mask);	
	sigaction( SIGSEGV, &sa_segv, NULL );

	memset( &sa_stop, 0, sizeof(struct sigaction) );
	sigemptyset (&sa_stop.sa_mask);
	sa_stop.sa_flags = 0;
	sa_stop.sa_handler = StopProcess;
	sigaction( SIGHUP, &sa_stop, NULL );

	SetDefault();
	fl = GetOption(option,argc,argv,NULL);
	InitMessage("dbstub",NULL);
	InitNET();

	if		(  BD_Name  ==  NULL  ) {
		Error("BD name is not specified.");
	}
	if		( fl == NULL ) {
		Error("module name is not specified.");
	}
	snprintf(AppName, sizeof(AppName), "dbstub-%s",fl->name);
	InitSystem(fl->name);
	Message("module %s: %.20s", fl->name, CommandParameter);
	rc = ExecuteSubProcess(fl->name);
	StopProcess(rc);
	return	(rc);
}
HRESULT SWLPRVenusCameraParameter::Initialize(CSWString strFilePath)
{
	// 初始化前重新设置默认值
	ResetParam();
	
    // 先基类的初始化
    if (S_OK == CSWParameter<ModuleParams>::Initialize(strFilePath)
        && S_OK == InitSystem()
        && S_OK == InitCamera()
        && S_OK == InitHvDsp()
        && S_OK == InitCharacter()
        && S_OK == InitGB28181()
		&& S_OK == InitONVIF())
    {
        return S_OK ;
    }

    SW_TRACE_DEBUG("<SWLPRVenusCameraParameter> Initialize failed.\n");
    return E_FAIL ;
}
Exemple #22
0
extern int main(int argc, char **argv) {

  FILE_LIST *fl;
  char *command;

  SetDefault();
  fl = GetOption(option, argc, argv, NULL);

  InitMessage("wfccontrol", NULL);

  if ((fl != NULL) && (fl->name != NULL)) {
    command = fl->name;
  } else {
    command = "stop";
  }

  InitSystem();
  MainProc(command);
  CleanUp();
  return (0);
}
void InitChatbot(char* name)
{
	// initialize system
	InitSystem(0,NULL);
	InitStandalone();
	SetUserVariable("$loebner","1");

	// treat each invocation as a new judge
	FILE* in = fopen("counter.txt","rb");
	int judgeid = 0;
	char buffer[1000];
	if (in)
	{
		fread(buffer,1,100,in);
		fclose(in);
		judgeid = atoi(buffer);
	}
	++judgeid;
	FILE* out = fopen("counter.txt","wb");
	fprintf(out,"%d\r\n",judgeid);
	fclose(out);

	// read in last sequence id to hopefully send ok on restart.
	in = fopen("sequence", "rb");
	if (in)
	{
		fgets(buffer,1000,in);
		fclose(in);
		sequence = atoi(buffer);
	}
	
	sprintf(buffer,"judge%d",judgeid);
    strcpy(loginID,buffer);
	ourMainInputBuffer[0] = 0;
	PerformChat(loginID,"",ourMainInputBuffer,NULL,ourMainOutputBuffer);     // start up chat with a judge, swallow first message
	ProcessOOB(ourMainOutputBuffer); // process relevant out of band messaging and remove
}
Exemple #24
0
extern int main(int argc, char **argv) {
  struct stat sb;
  DBG_Struct *dbg;
  int i;
  SetDefault();
  GetOption(option, argc, argv, NULL);
  InitSystem();

  if ((Socket == NULL) || (ExportID == NULL)) {
    PrintUsage(option, argv[0], NULL);
    exit(1);
  }

  for (i = 0;; i++) {
    if (stat(Socket, &sb) != -1) {
      break;
    }
    if (i >= RETRY) {
      Error("%s %s", strerror(errno), Socket);
    }
    sleep(1);
  }
  if (!S_ISSOCK(sb.st_mode)) {
    Error("%s is not socket file", Socket);
  }

  dbg = GetDBG_monsys();
  dbg->dbt = NewNameHash();

  if (OpenDB(dbg) != MCP_OK) {
    exit(1);
  }
  _monblob_export(dbg, ExportID, Socket);
  CloseDB(dbg);

  return 0;
}
Exemple #25
0
/***********************************************************
* Function:       // main
* Description:    // 入口函数
***********************************************************/
int main( int argc, char *argv[] )
{
    gtk_init( &argc, &argv );                               // 初始化GTK+库
    GladeXML	*ui;                                        // 声明GladeXML类型变量

    ui = glade_xml_new( "xms_apitest.glade", NULL, NULL );  // 创建GladeXML对象
    GtkWidget	*window;                                    // 声明GtkWidget类型变量
    window = glade_xml_get_widget( ui, "main_dialog" );
    // 从GladeXML对象获得GtkWidget界面构件
    GtkWidget *label;
    label = glade_xml_get_widget( ui, "label1" );
    gtk_label_set_label( GTK_LABEL( label ), "Hello World!" );

    text_view = glade_xml_get_widget (ui, "textview1");

    // 修改界面构件的属性
    gtk_widget_show_all( window );                          // 显示window内的所有构件
    glade_xml_signal_autoconnect( ui );                     // 连接GladeXML对象所有已定义信号

    InitSystem( );                                          //初始化系统

    gtk_main( );                                            // 开始GTK+主循环
    return 0;
}
Exemple #26
0
	virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
		AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
		// TODO: Add your initialization code here
		if (!InitSystem())
		{
			return AcRx::kRetError ;
		}
		InitApplication() ;

		if (!bWatchSelectDone)
		{
			if (acedRegisterWatchWinMsg(WatchSelect)==FALSE)
			{
				acedPrompt(_T("\nhook can't be registered.")) ;
			}
			else 
			{
				acedPrompt(_T("hook been registered!\n"));  
				bWatchSelectDone = TRUE;
			}
		}

		return (retCode) ;
	}
Exemple #27
0
bool MainScene::init()
{
   InitSystem();
   
   return true;
}
Exemple #28
0
/*------------------------------------------------------------
 * Function Name  : main
 * Description    : 程序入口
 * Input          : None
 * Output         : None
 * Return         : None
 *------------------------------------------------------------*/
int main( void )
{	
	uint32_t JumpAddress = 0;
	FunctionalState EnBootLoad = ENABLE;
	UPDATE_TYPE_TypeDef UpdateType = USB_UPDATE;
	FunctionalState BootOK = DISABLE;
	
	InitSystem();	
	
	bsp_StartTimer(0,100);
	
	while ( !bsp_CheckTimer(0))
	{
		switch ( GetKey() )
		{
			case KEY_RUN:
			case KEY_OIL_RUN:			
				break;
			default:
				EnBootLoad = DISABLE;
				break;
		}
	}
	
	if (ConfirmAutoUpdatePassword() == PASSED)
	{
		EnBootLoad = ENABLE;
	}
	
	if (EnBootLoad == ENABLE)
	{
		BSP_InitAll();
		
		while (1)
		{
			switch ( UpdateType )
			{
				case USB_UPDATE:
					switch ( USB_UpDate() )
					{
						case UPDATE_OK:
							BootOK = ENABLE;
							break;
						case UPDATE_ERR:
							while (1);
						case UPDATE_ABABDON:
							UpdateType = UDP_UPDATE;
							break;
					}
					break;
				case SD_UPDATE:
					switch ( SD_UpDate() )
					{
						case SUCCESS:
							BootOK = ENABLE;
							break;
						case ERROR:
							while(1);
					}
					break;
				case UDP_UPDATE:
					UDP_Update();
					BootOK = ENABLE;
					break;
			}
			
			if (BootOK == ENABLE)
			{
				SystemSoftwareReset();
			}
		}	
	}
	
	/* Check if valid stack address (RAM address) then jump to user application */
	if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFC0000 ) == 0x20000000)   /*通过判断FLASH第一个字是否分配到正确的栈顶地址,来区分有无应用程序*/
	{	
		/* 升级完毕关中断,否则导致程序中断时,因找不到中断服务程序而跑飞! */		
		CloseAllInterrupt();
		
		/* Jump to user application */
		JumpAddress = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4);
		Jump_To_Application = (pFunction) JumpAddress;
		
		/* Initialize user application's Stack Pointer */
		__set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS);

 		/*设置中断向量表偏移量*/
 		NVIC_SetVectorTable(NVIC_VectTab_FLASH, (USER_FLASH_FIRST_PAGE_ADDRESS-0x08000000));	
		
		 /*跳转到应用程序*/
		Jump_To_Application();
	}
	else
	{
		BSP_InitAll();
		
		lcd_font24(350,240,RED,BLACK,"烧录文件错误!","song24.zk");
		
		while(1);
	}
}
Exemple #29
0
int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
#endif
{
int i,n,j;
u32 dd,nn;
dip_t *dip;

#if !defined(_DEBUG) && !defined(GEKKO) && !defined(LINUX)
int argc;
char **argv,*pstart,*pend,*str;
list_c argvlist;

pstart = lpCmdLine;
for(;;)
	{
	while(*pstart == ' ') //skip any spaces
		pstart++;
	if(strcmp(pstart,"") != 0) //is there another entry?
		{
		if(*pstart == '\"') //beginning quote, this is all one str
			pend = strchr(pstart,'\"');
		else if((pend = strchr(pstart,' ')) == 0)
			pend = lpCmdLine + strlen(lpCmdLine);
		str = new char[pend - pstart + 1];
		memset(str,0,pend - pstart + 1);
		strncpy(str,pstart,pend - pstart);
		pstart = pend;
		argvlist.add(str);
		}
	else
		break;
	}
argc = argvlist.num() + 1;
argv = new char*[argc];
argv[0] = new char[_MAX_PATH];
GetModuleFileName(GetModuleHandle(0),argv[0],_MAX_PATH);
for(i=1;i<argc;i++)
	argv[i] = (char*)argvlist.get(i - 1);
#endif

memset(RomSets,0,sizeof(CRomSet*) * MAX_ROMSETS);
AddRomSets();
ParameterInit_Arg(argv,argc);						//set our argument pointers
freq = 1000;
last = ticks = SDL_GetTicks();
frametime = freq / 60;
for(n=0;RomSets[n] != 0;n++)						//set default dip settings
	{
	for(nn=0,j=0;j<4;j++)
		{
		if((dip = RomSets[n]->GetDip(j)) == 0)
			break;
		for(dd=0,i=0;dip[i].Name;i++)
			dd |= dip[i].Default;
		nn |= dd << (j * 8);
		}
	settings.dip_default[n] = nn;
	}
settings.SetDefault();
if(CheckParameter("--setdefaults") == 0)			//user wants to reset settings, so dont load
	settings.Load();										//load settings
if(InitSystem(800,600,CheckParameter("--fullscreen")) != 0)
	{														//initialize system classes (vid/inp/snd)
	message("error initializing system\n");	//complain, hopefully the bad component explained
	return(1);											//return error
	}
if(CheckParameter("--rompath")) {
    strcpy(settings.romdir,GetParameterData("--rompath"));
}
if(CheckParameter("--romset"))									//if romset parameter specified
	{
	for(i=0;RomSets[i] != 0;i++)
		{
		if(strcmp(RomSets[i]->GetName(),GetParameterData("--romset")) == 0)
			{
			if(Init(RomSets[i]) != 0)								//try to create machine
				break;
			printf("trying to load %s\n",RomSet->GetName());
			video->SetSize(RomSet->ScreenW(),RomSet->ScreenH());
			if(Machine)
				{
				if(CheckParameter("--loadstate"))				//load save state
					{
					CState *s = new CState();						//create new state object

					if(s->Load(0,RomSet->GetName()) == 0)		//try to load state
						{
						Machine->LoadState(s);						//load state into machine
						s->Close();										//close state object
						}
					delete s;											//destroy state object
					}
				}
			break;
			}
		}
	}
if(CheckParameter("--stop") ||				//see if emulation should begin paused
	CheckParameter("--pause"))
	running = 0;									//clear running flag
if(CheckParameter("--run"))					//see if emulation should begin running (default)
	running = 1;									//set running flag
while(quit == 0)
	{
	nolock = 0;
//	if(GetAsyncKeyState('Q'))					//cheap fast forward hack
//		nolock = 1;
	nolock += ~settings.lockfps & 1;
	if(running && Machine)						//if running flag is set and a machine is loaded
		Machine->Frame();							//execute a machine frame
//	else
//		Sleep(100);								//else sleep for 0.1 seconds
	calcfps();									//show frames per second in title bar
	checkmessages();							//process messages
	}
Kill();												//destroy machine
KillSystem();							//destroy system classes
settings.Save();									//save settings
for(n=0;RomSets[n] != 0;n++)					//free romsets
	delete RomSets[n];
return(0);
}
Exemple #30
0
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow) {
//////////////////////////////////////////////////////////////
  WNDCLASS wnd;
  wnd.style = CS_HREDRAW | CS_VREDRAW; //we will explain this later
  wnd.lpfnWndProc = WndProc;
  wnd.cbClsExtra = 0;
  wnd.cbWndExtra = 0;
  wnd.hInstance = hInstance;
  wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION); //default icon
  wnd.hCursor = LoadCursor(NULL, IDC_ARROW);   //default arrow mouse cursor
  wnd.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
  wnd.lpszMenuName = NULL;                     //no menu
  wnd.lpszClassName = TEXT("HTTPSiteCheck");
  if(!RegisterClass(&wnd)) {
    MessageBox(NULL, "This Program Requires Windows NT", "Error", MB_OK);
    return 0;
  }
///////////////////////////////////////////////////////////////
  hInstance = hInst;
  MSG msg;
  HWND hwnd;

  RECT rc;
  GetWindowRect(GetDesktopWindow(), &rc);

  hwnd = CreateWindowEx(WS_EX_DLGMODALFRAME | WS_EX_TOPMOST,
                        TEXT("HTTPSiteCheck"),
                        TEXT("HTTP Site Check"),
                        WS_VISIBLE | WS_SYSMENU | WS_CAPTION ,
                        (rc.right-400)/2,
                        (rc.bottom-300)/2,
                        400,
                        300,
                        NULL,
                        NULL,
                        hInstance,
                        NULL);
  ShowWindow(hwnd, iCmdShow);              //display the window on the screen
///////////////////////////////////////////////////////////////
  InitSystem();
  setup = new setupfile_c;
  InitLang();
  language->setSetup(setup);
  controls = new controlcollections_c;
  font_c * font = new font_c;
  font->setSizeName(10,"Tahoma");
  font->create();
  controls->setFont(font);
  controls->addControl(new staticlabel_c(hwnd, "Language:", 1, 10, 10, 200, 24));
  langlist = (dropdownlist_c*)controls->addControl(new dropdownlist_c(hwnd, 10, 35, 370, 12));
  controls->addControl(new button_c(hwnd, "Back", 2, 107, 237, 85, 24));
  controls->addControl(new button_c(hwnd, "Next", 3, 202, 237, 85, 24));
  closebutton = (button_c*)controls->addControl(new button_c(hwnd, "Finish", 4, 297, 237, 85, 24));
  language->allLangToCombo(langlist);
  controls->setLanguage(language);
///////////////////////////////////////////////////////////////
  while(GetMessage(&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
  return msg.wParam;
}