📄 init.cpp
字号:
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 + -