void DisasmView_DoSubtitles() { if (m_okDisasmSubtitles) // Reset subtitles { ::LocalFree(m_strDisasmSubtitles); m_strDisasmSubtitles = NULL; ::LocalFree(m_pDisasmSubtitleItems); m_pDisasmSubtitleItems = NULL; m_nDisasmSubtitleMax = m_nDisasmSubtitleCount = 0; m_okDisasmSubtitles = FALSE; DisasmView_UpdateWindowText(); return; } // File Open dialog TCHAR bufFileName[MAX_PATH]; BOOL okResult = ShowOpenDialog(g_hwnd, _T("Open Disassemble Subtitles"), _T("Subtitles (*.lst)\0*.lst\0All Files (*.*)\0*.*\0\0"), bufFileName); if (! okResult) return; // Load subtitles text from the file HANDLE hSubFile = CreateFile(bufFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hSubFile == INVALID_HANDLE_VALUE) { AlertWarning(_T("Failed to load subtitles file.")); return; } DWORD dwSubFileSize = ::GetFileSize(hSubFile, NULL); if (dwSubFileSize > 1024 * 1024) { ::CloseHandle(hSubFile); AlertWarning(_T("Subtitles file is too big (over 1 MB).")); return; } m_strDisasmSubtitles = (TCHAR*) ::LocalAlloc(LPTR, dwSubFileSize + 2); DWORD dwBytesRead; ::ReadFile(hSubFile, m_strDisasmSubtitles, dwSubFileSize, &dwBytesRead, NULL); ASSERT(dwBytesRead == dwSubFileSize); ::CloseHandle(hSubFile); // Estimate comment count and allocate memory int estimateSubtitleCount = dwSubFileSize / (75 * sizeof(TCHAR)); if (estimateSubtitleCount < 256) estimateSubtitleCount = 256; DisasmView_ResizeSubtitleArray(estimateSubtitleCount); // Parse subtitles if (!DisasmView_ParseSubtitles()) { ::LocalFree(m_strDisasmSubtitles); m_strDisasmSubtitles = NULL; ::LocalFree(m_pDisasmSubtitleItems); m_pDisasmSubtitleItems = NULL; AlertWarning(_T("Failed to parse subtitles file.")); return; } m_okDisasmSubtitles = TRUE; DisasmView_UpdateWindowText(); }
void TapeView_DoOpenWav() { if (m_okTapeInserted) { TapeView_CloseTape(); return; } // File Open dialog TCHAR bufFileName[MAX_PATH]; BOOL okResult = ShowOpenDialog(g_hwnd, _T("Open WAV file"), _T("WAV files (*.wav)\0*.wav\0All Files (*.*)\0*.*\0\0"), bufFileName); if (! okResult) return; TapeView_OpenTape(bufFileName); }
INT_PTR CALLBACK LoadBinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: { ::PostMessage(hDlg, WM_COMMAND, IDC_BUTTONBROWSE, 0); return (INT_PTR)FALSE; } case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_BUTTONBROWSE: { TCHAR bufFileName[MAX_PATH]; BOOL okResult = ShowOpenDialog(g_hwnd, _T("Select BIN file to load"), _T("BK binary files (*.bin)\0*.bin\0All Files (*.*)\0*.*\0\0"), bufFileName); if (! okResult) break; Dialogs_DoLoadBinPrepare(hDlg, bufFileName); } break; case IDOK: { TCHAR bufFileName[MAX_PATH]; ::GetDlgItemText(hDlg, IDC_EDITFILE, bufFileName, sizeof(bufFileName) / sizeof(TCHAR)); Dialogs_DoLoadBinLoad(bufFileName); } EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; case IDCANCEL: EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; default: return (INT_PTR)FALSE; } break; } return (INT_PTR) FALSE; }
BOOL importCertificate(HWND hParent) { char pw[128]; char *fullname = NULL; BOOL result = false; NEWFILEDLGDATA newfiledlg = { #ifdef MINIGUI_V3 FALSE, FALSE, #else FALSE, #endif "", "", "./", "All file(*.*)|Pkcs12(*.p12)", 1 }; int ret = ShowOpenDialog (hParent, 100, 100, 350, 250, &newfiledlg); if(ret == IDOK){ int len = strlen(newfiledlg.filefullname)+1; fullname = (char *)malloc(len*sizeof(char)); if (!fullname) return result; strcpy(fullname, newfiledlg.filefullname); inputPassword( hParent, pw); if (mdolphin_add_certificate( fullname, pw)) { MessageBox( hParent, "Successfully restored your security certificate(s) and private key(s)", "Alert", MB_OK); result = true; } else { MessageBox( hParent, "Error parsing certificate (incorrect password?)", "Alert", MB_OK); result = false; } if (fullname) free(fullname); } return result; }
void AudacityProject::OnOpen(wxEvent & event) { ShowOpenDialog(this); }
static void this_desktop_menucmd_handler (void* context, int id) { if(!context) return; if(id == ID_UP) { DesktopUpdateAllWindow(); } #if 0 else if(id == ID_CB) { NEWFILEDLGDATA file_data; int choise = 0; // file_data.IsSave = FALSE; strcpy(file_data.filepath,"."); choise = ShowOpenDialog(HWND_DESKTOP, 50, 50, 300, 200, &file_data); if(choise == IDOK) { if(access(file_data.filefullname, F_OK) < 0) { printf("file not exist!\n"); } else { printf("ok!\n"); } } } #endif else if(id == ID_AB) { #ifdef _MGMISC_ABOUTDLG #ifdef _MGRM_THREADS OpenAboutDialog (); #else OpenAboutDialog (HWND_DESKTOP); #endif #endif } else if(id == ID_OP) { int i = 0; DSPITEM* item; char buff [PATH_MAX + NAME_MAX + 1]; item = icon_info.app_items; for(i = 0; i < icon_info.nr_apps; i++, item++) { if (i == icon_info.focus) { if(item->cdpath) { chdir(item->path); } strcpy (buff, item->path); strcat (buff, item->name); exec_app_name(buff, item->name, "-layer"); icon_info.focus = 0xFFFF; break; } } } else if(id == ID_RN) { icon_info.focus = 0xFFFF; } return; }