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

📄 init.cpp

📁 一个播放器 使用了evc 大家可以参考下 哦
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		dwTmp = 0;
		if ( ERROR_SUCCESS == RegQueryValueEx( hKey, OPT_NEXTKEY, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
			 REG_DWORD == dwType )
			PlayerOptions->NextKey = dwTmp;

		dwSize = sizeof( DWORD );
		dwTmp = 0;
		if ( ERROR_SUCCESS == RegQueryValueEx( hKey, OPT_PREVKEY, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
			 REG_DWORD == dwType )
			PlayerOptions->PrevKey = dwTmp;

		dwSize = sizeof( DWORD );
		dwTmp = 0;
		if ( ERROR_SUCCESS == RegQueryValueEx( hKey, OPT_CONTROLKEY, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
			 REG_DWORD == dwType )
			PlayerOptions->ControlSelectKey = dwTmp;

		dwSize = sizeof( DWORD );
		dwTmp = 0;
		if ( ERROR_SUCCESS == RegQueryValueEx( hKey, OPT_LASTFILEPOS, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
			 REG_DWORD == dwType )
			PlayerOptions->LastFilePos = dwTmp;

		dwSize = sizeof( DWORD );
		dwTmp = 0;
		if ( ERROR_SUCCESS == RegQueryValueEx( hKey, OPT_EQ, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
			 REG_DWORD == dwType )
			PlayerOptions->EnableEQ = ( dwTmp != 0 );

		for (ns=IDC_EQ0;ns<IDC_EQ10+1;ns++)
		{
			TCHAR sKey[10];
			wcscpy(sKey,_T("Eq"));
			_itow(ns-IDC_EQ0,sKey+2,10);
			dwSize = sizeof( DWORD );
			dwTmp = 0;
			if ( ERROR_SUCCESS == RegQueryValueEx( hKey, sKey, 0, &dwType, ( LPBYTE )&dwTmp, &dwSize ) &&
				 REG_DWORD == dwType )
				 PlayerOptions->Eq[ns-IDC_EQ0] = dwTmp;
		}				
		dwSize=sizeof(PlayerOptions->Skin);
		dwType=0;
		wcscpy(PlayerOptions->Skin,_T(""));
		if ( ERROR_SUCCESS != RegQueryValueEx( hKey, OPT_SKIN, 0, &dwType, ( LPBYTE )PlayerOptions->Skin, &dwSize ) )
		{
			TCHAR path[200];
			HANDLE h=GetModuleHandle(_T("PocketMVP.exe"));
			GetModuleFileName((HMODULE)h,path,200);
			LPTSTR t=wcsstr(path,_T("PocketMVP"));
			*t=0;
			wcscpy(PlayerOptions->Skin,path);
			wcscat(PlayerOptions->Skin,_T("Skins\\PocketMVP.pds"));
		}
		dwSize=sizeof(PlayerOptions->LastFile);
		dwType=0;
		if ( (!bExitOk)||(ERROR_SUCCESS != RegQueryValueEx( hKey, OPT_LASTFILE, 0, &dwType, ( LPBYTE )PlayerOptions->LastFile, &dwSize )) )
		{
			wcscpy(PlayerOptions->LastFile,_T(""));
		}
		if (!wcscmp(PlayerOptions->Skin,_T("")))
		{
			TCHAR path[200];
			HANDLE h=GetModuleHandle(_T("PocketMVP.exe"));
			GetModuleFileName((HMODULE)h,path,200);
			LPTSTR t=wcsstr(path,_T("PocketMVP."));
			*t=0;
			wcscpy(PlayerOptions->Skin,path);
			wcscat(PlayerOptions->Skin,_T("Skins\\PocketMVP.pds"));
		}


		RegCloseKey( hKey );
	}
	if ( ERROR_SUCCESS == RegCreateKeyEx( HKEY_LOCAL_MACHINE, REG_BASE, NULL, 0, 0,
		KEY_READ | KEY_WRITE | KEY_SET_VALUE,
		NULL, &hKey, &dwDisp ) )
	{
		bool ok=false;
		RegSetValueEx( hKey, OPT_EXITEDOK, 0, REG_DWORD, ( LPBYTE )&(ok), sizeof( bool ) );
	}
}


INIT_API void SaveOptions(UserOptions* PlayerOptions)
{
	HKEY hKey = 0;
	int ns;
	DWORD dwDisp = 0;
	bool iPAQ=false;
#ifdef GAPI
#ifdef ARM
	GXDisplayProperties x;			
	x=GXGetDisplayProperties();
	if (x.cbxPitch>2||(x.cbxPitch<2)) iPAQ=true;
#endif
#endif
	if ( ERROR_SUCCESS == RegCreateKeyEx( HKEY_LOCAL_MACHINE, REG_BASE, NULL, 0, 0,
		KEY_READ | KEY_WRITE | KEY_SET_VALUE,
		NULL, &hKey, &dwDisp ) )
	{
		bool bRotate;
		bool ok=true;
		if (iPAQ) bRotate=!PlayerOptions->Rotate;
		else bRotate=PlayerOptions->Rotate;
		RegSetValueEx( hKey, OPT_ROTATE, 0, REG_DWORD, ( LPBYTE )&(bRotate), sizeof( bool ) );
		RegSetValueEx( hKey, OPT_AUDIO, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Audio, sizeof( bool ) );
	
		RegSetValueEx( hKey, OPT_KEEPALIVE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->KeepAlive, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_ALWAYSHIDE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->AlwaysHide, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_NOINDEX, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->NoIndex, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_DOUBLESIZE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Double, sizeof( bool ) );
	
		RegSetValueEx( hKey, OPT_CLEANVIDEO, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Clean, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_FITTOVIEWPORT, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->FitToViewPort, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_VIEWMEDIA, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Media, sizeof( bool ) );
		
		RegSetValueEx( hKey, OPT_VIEWPLAYLIST, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Playlist, sizeof( bool ) );
	

		RegSetValueEx( hKey, OPT_MDRIVECACHING, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Cache, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_PLAYATOPEN, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->PlayAtOpen, sizeof( bool ) );
		
		RegSetValueEx( hKey, OPT_SHUFFLE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Shuffle, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_REPEAT, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Repeat, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_SHOWDROP, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->ShowDropped, sizeof( bool ) );
		
		RegSetValueEx( hKey, OPT_KEEPLASTFILE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->KeepLastFile, sizeof( bool ) );

		RegSetValueEx( hKey, OPT_CACHESIZE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->CacheSize, sizeof( DWORD ) );

#ifdef ARM
		RegSetValueEx( hKey, OPT_BRIGHTNESS, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Brightness, sizeof( DWORD ) );
#endif
		RegSetValueEx( hKey, OPT_DROPTOLERANCE, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->DropTolerance, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_PAUSEKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->PauseKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_STOPKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->StopKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_MUTEKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->MuteKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_FASTKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->FastKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_VOLUME, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->PlayerVolume, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_ROTATEKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->RotateKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_ZOOMKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->ZoomKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_TOGGLEKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->ToggleKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_VOLUMEUPKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->VolumeUpKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_VOLUMEDOWNKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->VolumeDownKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_VOLUMEUPKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->VolumeUpKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_VOLUMEDOWNKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->VolumeDownKey, sizeof( DWORD ) );

#ifdef ARM
		RegSetValueEx( hKey, OPT_BRIGHTNESSUPKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->BrightnessUpKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_BRIGHTNESSDOWNKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->BrightnessDownKey, sizeof( DWORD ) );
#endif
		RegSetValueEx( hKey, OPT_NEXTKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->NextKey, sizeof( DWORD ) );
		
		RegSetValueEx( hKey, OPT_PREVKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->PrevKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_CONTROLKEY, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->ControlSelectKey, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_LASTFILEPOS, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->LastFilePos, sizeof( DWORD ) );

		RegSetValueEx( hKey, OPT_EQ, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->EnableEQ, sizeof( bool ) );

		for (ns=IDC_EQ0;ns<IDC_EQ10+1;ns++)
		{
			TCHAR sKey[10];
			wcscpy(sKey,_T("Eq"));
			_itow(ns-IDC_EQ0,sKey+2,10);
			RegSetValueEx( hKey, sKey, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Eq[ns-IDC_EQ0], sizeof( DWORD ) );
//			wcscpy(sKey,PlayerOptions->Preset);
//			wcscat(sKey,_T("Eq"));
//			_itow(ns-IDC_EQ0,sKey+2,10);
//			RegSetValueEx( hKey, sKey, 0, REG_DWORD, ( LPBYTE )&PlayerOptions->Eq[ns-IDC_EQ0], sizeof( DWORD ) );
		}
//		RegSetValueEx( hKey, OPT_PRESET, 0, REG_SZ, ( LPBYTE )&PlayerOptions->Preset, sizeof( PlayerOptions->Preset ) );
		RegSetValueEx( hKey, OPT_SKIN, 0, REG_SZ, ( LPBYTE )&PlayerOptions->Skin, sizeof( PlayerOptions->Skin ) );
		RegSetValueEx( hKey, OPT_LASTFILE, 0, REG_SZ, ( LPBYTE )&PlayerOptions->LastFile, sizeof( PlayerOptions->LastFile ) );
		RegSetValueEx( hKey, OPT_EXITEDOK, 0, REG_DWORD, ( LPBYTE )&(ok), sizeof( bool ) );
		RegCloseKey( hKey );
	}

}


ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass, WNDPROC WndProc)

{
	WNDCLASS wc1;

    wc1.style			= CS_HREDRAW | CS_VREDRAW;
    wc1.lpfnWndProc		= (WNDPROC) WndProc;
    wc1.cbClsExtra		= 0;
    wc1.cbWndExtra		= 0;
    wc1.hInstance		= hInstance;
    wc1.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_POCKETMVP));
    wc1.hCursor			= 0;
    wc1.hbrBackground	= (HBRUSH) GetStockObject(BLACK_BRUSH);
    wc1.lpszMenuName	= 0; //MAKEINTRESOURCE(IDM_MENU);
    wc1.lpszClassName	= szWindowClass;

	ATOM x1 = RegisterClass(&wc1);


	return  x1;
}

LRESULT CALLBACK ListProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	

	switch (message) 
	{
		case WM_KEYDOWN:
#ifdef SMART
			if (wParam==VK_LEFT)
			{
				wParam=VK_UP;
				return CallWindowProc((WNDPROC)oldproc,hWnd,message,wParam,lParam);
			}
			if (wParam==VK_RIGHT)
			{
				wParam=VK_DOWN;
				return CallWindowProc((WNDPROC)oldproc,hWnd,message,wParam,lParam);
			}
			if (wParam==VK_RETURN)
				return CallWindowProc((WNDPROC)oldproc,hWnd,message,wParam,lParam);
#endif
			if ((wParam>0&&(wParam<91))||(wParam>185)||(wParam>95&&(wParam<112)))
			{
				int n;
				for (n=0;n<14;n++)
				{
					int value=SendMessage(hWnd,CB_GETITEMDATA,(WPARAM)n,(LPARAM)0);
					if (value==wParam)
					{
						SendMessage(hWnd,CB_SETITEMDATA,n,0);
					}
				}
				SendMessage(hWnd,CB_SETITEMDATA,SendMessage(hWnd,CB_GETCURSEL,0,0),wParam);
				SetDlgItemText(GetParent(hWnd),IDC_STATICSTATUS,_T("(Function Mapped)"));
			}
			break;
		default:
#if (_WIN32_WCE >= 300)||(defined(_X86_))
			return CallWindowProc((WNDPROC)oldproc,hWnd,message,wParam,lParam);
#else
			return CallWindowProc((int (__cdecl *)(void))oldproc,hWnd,message,wParam,lParam);
#endif
			break;
	}
}



void SelectTab(HWND hwndDlg,int index)
{
	if (index==0)
	{
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKKEEPALIVE),SW_SHOW);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKPLAYATOPEN),SW_SHOW);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKDROP),SW_SHOW);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKHIDE),SW_SHOW);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKNOINDEX),SW_SHOW);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKREMEMBER),SW_SHOW);
		ShowWindow(hwndAdv,SW_HIDE);
		ShowWindow(hwndFiles,SW_HIDE);

	}
	else if (index==1)
	{
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKKEEPALIVE),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKPLAYATOPEN),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKDROP),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKHIDE),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKNOINDEX),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKREMEMBER),SW_HIDE);
		ShowWindow(hwndFiles,SW_HIDE);
		ShowWindow(hwndAdv,SW_SHOW);

	}
	else
	{
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKKEEPALIVE),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKPLAYATOPEN),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKDROP),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKHIDE),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKNOINDEX),SW_HIDE);
		ShowWindow(GetDlgItem(hwndDlg,IDC_CHECKREMEMBER),SW_HIDE);
		ShowWindow(hwndFiles,SW_SHOW);
		ShowWindow(hwndAdv,SW_HIDE);
	}
}
void LoadFileOptions()
{
	HKEY hKey = 0;
	DWORD dwSize = 0;
	DWORD dwType = 0;
	DWORD dwDisp = 0;
	TCHAR temp[255];

	if ( ERROR_SUCCESS == RegOpenKeyEx( HKEY_CLASSES_ROOT,  _T(".pdl"), 0, 0, &hKey ) )
	{
		dwSize=sizeof(temp);
		dwType=0;
		if (ERROR_SUCCESS == RegQueryValueEx( hKey, NULL, 0, &dwType, ( LPBYTE )temp, &dwSize ))
		{
			if (wcsstr(temp,_T("avifile"))) SendMessage(GetDlgItem(hwndFiles,IDC_CHECKPDL),BM_SETCHECK,BST_CHECKED,0);
		}
	}
	if ( ERROR_SUCCESS == RegOpenKeyEx( HKEY_CLASSES_ROOT,  _T(".avi"), 0, 0, &hKey ) )
	{
		dwSize=sizeof(temp);
		dwType=0;
		if (ERROR_SUCCESS == RegQueryValueEx( hKey, NULL, 0, &dwType, ( LPBYTE )temp, &dwSize ))

⌨️ 快捷键说明

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