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

📄 options.c

📁 VC++视频开发实例集锦(包括“远程视频监控”"语音识别系统"等13个经典例子)
💻 C
📖 第 1 页 / 共 2 页
字号:
                    int iMixerSelection;
                    CPe_MixerMode enNewMixerMode;

                    iMixerSelection = SendDlgItemMessage(hwndDlg, IDC_MIXER, CB_GETCURSEL, 0, 0);
                    if(iMixerSelection == 0)
                        enNewMixerMode = mmMasterVolume;
                    else if(iMixerSelection == 1)
                        enNewMixerMode = mmWaveVolume;
                    else
                        enNewMixerMode = mmInternal;

                    if(enNewMixerMode != globals.m_enMixerMode)
                    {
                        // Change mixer
                        globals.m_enMixerMode = enNewMixerMode;
                        CPI_Player__ReopenMixer(globals.m_hPlayer);

                        // Setup UI
                        if(enNewMixerMode == mmInternal)
                            globals.m_iVolume = 100;
                        else
                            globals.m_iVolume = CPI_Player__GetVolume(globals.m_hPlayer);
                        main_draw_vu_from_value(windows.wnd_main, VolumeSlider, globals.m_iVolume);
                    }
                }


                if(!duplicatesalreadyremoved && options.allow_file_once_in_playlist)
                    CPL_RemoveDuplicates(globals.m_hPlaylist);
                EndDialog(hwndDlg, 1);
                break;
            }
        case IDC_ONTOP:
            break;
        case IDC_REGFILETYPE:
            {
                HKEY    result;
                DWORD   lpdwDisposition;
                char    pathbuf[MAX_PATH];
                char    stringval[MAX_PATH + 3];

                CPI_Player__AssociateFileExtensions(globals.m_hPlayer);

                GetModuleFileName(NULL, pathbuf, MAX_PATH);
                sprintf(stringval, "%s,%1d", pathbuf, 1);
                RegCreateKeyEx(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_FILETYPE,
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegSetValueEx(result, NULL, 0, REG_SZ,
                              CIC_COOLPLAYER_FILEDESC, sizeof(CIC_COOLPLAYER_FILEDESC));
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\DefaultIcon",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell", 0,
                               NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\Open",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\Open\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\"", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\CoolPlayer Queue",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\CoolPlayer Queue\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\" -add", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\CoolPlayer Play",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_FILETYPE "\\Shell\\CoolPlayer Play\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\"", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);


                RegCreateKeyEx(HKEY_CLASSES_ROOT, ".m3u", 0, NULL,
                               REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegSetValueEx(result, NULL, 0, REG_SZ,
                              CIC_COOLPLAYER_PLAYLISTFILETYPE, sizeof(CIC_COOLPLAYER_PLAYLISTFILETYPE));
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT, ".pls", 0, NULL,
                               REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegSetValueEx(result, NULL, 0, REG_SZ,
                              CIC_COOLPLAYER_PLAYLISTFILETYPE, sizeof(CIC_COOLPLAYER_PLAYLISTFILETYPE));
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_PLAYLISTFILETYPE,
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegSetValueEx(result, NULL, 0, REG_SZ,
                              CIC_COOLPLAYER_PLAYLISTFILEDESC, sizeof(CIC_COOLPLAYER_PLAYLISTFILEDESC));
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\DefaultIcon",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "%s,%d", pathbuf, 2);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell", 0,
                               NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\Open",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\Open\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\"", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\CoolPlayer Queue",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\CoolPlayer Queue\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\" -add", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\CoolPlayer Play",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\CoolPlayer Play\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\"", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);

                // Folder handlers
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               "Folder\\Shell\\CoolPlayer Play",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                RegCloseKey(result);
                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               "Folder\\Shell\\CoolPlayer Play\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\"", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);

                RegCreateKeyEx(HKEY_CLASSES_ROOT,
                               "Folder\\Shell\\CoolPlayer Queue\\command",
                               0, NULL, REG_OPTION_NON_VOLATILE,
                               KEY_ALL_ACCESS, NULL, &result,
                               &lpdwDisposition);
                sprintf(stringval, "\"%s\" \"%%1\" -add", pathbuf);
                RegSetValueEx(result, NULL, 0, REG_SZ, stringval,
                              strlen(stringval) + 1);
                RegCloseKey(result);


                RegDeleteKey(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_FILETYPE "\\Shell\\Enqueue in CoolPlayer\\command");
                RegDeleteKey(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_FILETYPE "\\Shell\\Enqueue in CoolPlayer\\");
                RegDeleteKey(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\Enqueue in CoolPlayer\\command");
                RegDeleteKey(HKEY_CLASSES_ROOT, CIC_COOLPLAYER_PLAYLISTFILETYPE "\\Shell\\Enqueue in CoolPlayer\\");

                MessageBox(hwndDlg,
                           "Filetypes are registered.\nYou can doubleclick a supported file to run CoolPlayer.",
                           "CoolPlayer", MB_ICONINFORMATION);

                break;
            }
        case IDC_ADDICONS:
            {
                char    pathname[MAX_PATH];
                char    startmenu[MAX_PATH];
                char    linkname[MAX_PATH];
                char    linkname2[MAX_PATH];

                LPITEMIDLIST ppidl;
                int     buflen = MAX_PATH;
                long    vartype = REG_SZ;

                GetModuleFileName(NULL, pathname, MAX_PATH);
                CoInitialize(NULL);

                SHGetSpecialFolderLocation(hwndDlg, CSIDL_STARTMENU,
                                           &ppidl);

                SHGetPathFromIDList(ppidl, startmenu);

                sprintf(linkname, "%s\\CoolPlayer.lnk", startmenu);
                ExpandEnvironmentStrings(linkname,	// pointer to string with environment variables
                                         linkname2,	// pointer to string with expanded environment
                                         // variables
                                         MAX_PATH);

                path_create_link(pathname, linkname2, NULL);
                SHGetSpecialFolderLocation(hwndDlg, CSIDL_DESKTOP, &ppidl);

                SHGetPathFromIDList(ppidl, startmenu);

                sprintf(linkname, "%s\\CoolPlayer.lnk", startmenu);
                ExpandEnvironmentStrings(linkname,	// pointer to string with environment variables
                                         linkname2,	// pointer to string with expanded environment
                                         // variables
                                         MAX_PATH);

                path_create_link(pathname, linkname2, NULL);
                CoUninitialize();
                MessageBox(hwndDlg,
                           "An icon for CoolPlayer has been created in the StartMenu and Desktop.",
                           "CoolPlayer", MB_ICONINFORMATION);
                break;
            }
        }
        switch (HIWORD(wParam)) {
        case CBN_SELENDOK:
            {
                break;
            }
        }
    }
    return FALSE;
}

BOOL    window_set_always_on_top(HWND hWnd, BOOL yes)
{
    if (yes) {
        SetWindowPos(hWnd,	// handle to window
                     HWND_TOPMOST,	// placement-order handle
                     0,		// horizontal position
                     0,		// vertical position
                     0,		// width
                     0,		// height
                     SWP_NOMOVE | SWP_NOSIZE);	// window-positioning flags

    } else {
        SetWindowPos(hWnd,	// handle to window
                     HWND_NOTOPMOST,	// placement-order handle
                     0,		// horizontal position
                     0,		// vertical position
                     0,		// width
                     0,		// height
                     SWP_NOMOVE | SWP_NOSIZE);	// window-positioning flags
    }
    return TRUE;
}

⌨️ 快捷键说明

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