init.cpp
来自「PocketMVP V0.8082503 source for Pocket 的」· C++ 代码 · 共 949 行 · 第 1/3 页
CPP
949 行
dwSize = sizeof( DWORD );
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_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:
if ((wParam>0&&(wParam<91))||(wParam>185)||(wParam>95&&(wParam<112)))
{
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
return CallWindowProc((WNDPROC)oldproc,hWnd,message,wParam,lParam);
#else
return CallWindowProc((int (__cdecl *)(void))oldproc,hWnd,message,wParam,lParam);
#endif
break;
}
}
BOOL CALLBACK cfgDlg(
HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam )
{
NMHDR* nm=(NMHDR*) lParam;
switch(uMsg)
{
case WM_COMMAND:
switch (HIWORD(wParam))
{
case CBN_SELENDOK:
SetDlgItemText(hwndDlg,IDC_STATICSTATUS,_T("(Press Button to Map)"));
break;
default:
break;
}
switch (wParam)
{
case ID_OK:
gPlayerOptions->Cache=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKCACHE),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->KeepAlive=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKKEEPALIVE),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->AlwaysHide=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKHIDE),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->NoIndex=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKNOINDEX),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->PlayAtOpen=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKPLAYATOPEN),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->ShowDropped=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKDROP),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->KeepLastFile=(SendMessage(GetDlgItem(hwndDlg,IDC_CHECKREMEMBER),BM_GETCHECK,0,0)==BST_CHECKED);
gPlayerOptions->CacheSize=SendMessage( GetDlgItem(hwndDlg,IDC_SLIDER1), TBM_GETPOS, 0,0 );
#ifdef ARM
gPlayerOptions->Brightness=SendMessage( GetDlgItem(hwndDlg,IDC_BRIGHT), TBM_GETPOS, 0,0 );
#endif
gPlayerOptions->DropTolerance=SendMessage( GetDlgItem(hwndDlg,IDC_DROP), TBM_GETPOS, 0,0 );
gPlayerOptions->ToggleKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)0,(LPARAM)0);
gPlayerOptions->PauseKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)1,(LPARAM)0);
gPlayerOptions->FastKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)2,(LPARAM)0);
gPlayerOptions->RotateKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)3,(LPARAM)0);
gPlayerOptions->ZoomKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)4,(LPARAM)0);
gPlayerOptions->VolumeUpKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)5,(LPARAM)0);
gPlayerOptions->VolumeDownKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)6,(LPARAM)0);
gPlayerOptions->NextKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)7,(LPARAM)0);
gPlayerOptions->PrevKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)8,(LPARAM)0);
gPlayerOptions->ControlSelectKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)9,(LPARAM)0);
gPlayerOptions->StopKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)10,(LPARAM)0);
gPlayerOptions->MuteKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)11,(LPARAM)0);
#ifdef ARM
gPlayerOptions->BrightnessUpKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)12,(LPARAM)0);
gPlayerOptions->BrightnessDownKey=SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_GETITEMDATA,(WPARAM)13,(LPARAM)0);
#endif
SaveOptions(gPlayerOptions);
EndDialog(hwndDlg,1);
SetWindowLong(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),GWL_WNDPROC,(long)oldproc);
break;
case ID_CLEAR:
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)0,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)1,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)2,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)3,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)4,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)5,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)6,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)7,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)8,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)9,(LPARAM)0);
SendMessage(GetDlgItem(hwndDlg,IDC_CBOFUNCTIONS),CB_SETITEMDATA,(WPARAM)10,(LPARAM)0);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?