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

📄 cstm1dlg.cpp

📁 pwlib源码库
💻 CPP
字号:
// cstm1dlg.cpp : implementation file//#include "stdafx.h"#include "MsDevWizard.h"#include "cstm1dlg.h"#include "MsDevWizardaw.h"#include <stdlib.h>#include <time.h>#include <io.h>#ifdef _PSEUDO_DEBUG#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CCustom1Dlg dialogCCustom1Dlg::CCustom1Dlg()	: CAppWizStepDlg(CCustom1Dlg::IDD){	//{{AFX_DATA_INIT(CCustom1Dlg)	m_class_name = _T("");	m_manufacturer = _T("Equivalence");	m_copyright_holder = _T("Equivalence Pty. Ltd.");	m_product_name = _T("");	m_product_type = 0;	m_exe_name = _T("");	m_pwlib_dir = _T("");	m_use_dlls = TRUE;	//}}AFX_DATA_INIT}void CCustom1Dlg::DoDataExchange(CDataExchange* pDX){	CAppWizStepDlg::DoDataExchange(pDX);	//{{AFX_DATA_MAP(CCustom1Dlg)	DDX_Text(pDX, IDC_CLASS_NAME, m_class_name);	DDX_Text(pDX, IDC_MANUFACTURER, m_manufacturer);	DDX_Text(pDX, IDC_COPYRIGHT_HOLDER, m_copyright_holder);	DDX_Text(pDX, IDC_PRODUCT_NAME, m_product_name);	DDX_Radio(pDX, IDC_TEXT_ONLY, m_product_type);	DDX_Text(pDX, IDC_EXE_NAME, m_exe_name);	DDX_Text(pDX, IDC_PWLIB_DIR, m_pwlib_dir);	DDX_Check(pDX, IDC_USE_DLL, m_use_dlls);	//}}AFX_DATA_MAP}static void SetDictionaryKey(const char * key, BOOL value){  if (value)    MsDevWizardaw.m_Dictionary[key] = key;  else    MsDevWizardaw.m_Dictionary.RemoveKey(key);}// This is called whenever the user presses Next, Back, or Finish with this step//  present.  Do all validation & data exchange from the dialog in this function.BOOL CCustom1Dlg::OnDismiss(){	if (!UpdateData(TRUE))		return FALSE;        // Strip .exe off end of string (if there is one)        CString lower_exe = m_exe_name;        lower_exe.MakeLower();        int pos = lower_exe.Find(".exe");        if (pos >= 0)          m_exe_name = m_exe_name.Mid(pos);        static const struct {          const char * product_type;          const char * parent_app_class;          const char * parent_win_class;          const char * header_file;          BOOL is_gui;          BOOL is_service;          BOOL has_http;          BOOL has_signature;        } product_type_strings[] = {          { "Text Only", "PProcess",            "",                "ptlib.h", FALSE, FALSE, FALSE, FALSE },          { "GUI",       "PApplication",        "PTopLevelWindow", "pwlib.h", TRUE,  FALSE, FALSE, FALSE },          { "GUI",       "PApplication",        "PMDIFrameWindow", "pwlib.h", TRUE,  FALSE, FALSE, FALSE },          { "Service",   "PServiceProcess",     "",                "ptlib.h", FALSE, TRUE,  FALSE, FALSE },          { "Service",   "PHTTPServiceProcess", "",                "ptlib.h", FALSE, TRUE,  TRUE,  FALSE },          { "Service",   "PHTTPServiceProcess", "",                "ptlib.h", FALSE, TRUE,  TRUE,  TRUE  }        };	MsDevWizardaw.m_Dictionary["PRODUCT_TYPE"] = product_type_strings[m_product_type].product_type;	MsDevWizardaw.m_Dictionary["PRODUCT_NAME"] = m_product_name;	MsDevWizardaw.m_Dictionary["MANUFACTURER"] = m_manufacturer;	MsDevWizardaw.m_Dictionary["COPYRIGHT_HOLDER"] = m_copyright_holder;	MsDevWizardaw.m_Dictionary["EXE_NAME"] = m_exe_name;	MsDevWizardaw.m_Dictionary["APP_CLASS_NAME"] = m_class_name;	MsDevWizardaw.m_Dictionary["PARENT_APP_CLASS"] = product_type_strings[m_product_type].parent_app_class;	MsDevWizardaw.m_Dictionary["PARENT_WIN_CLASS"] = product_type_strings[m_product_type].parent_win_class;	MsDevWizardaw.m_Dictionary["HEADER_FILE"] = product_type_strings[m_product_type].header_file;        SetDictionaryKey("IS_GUI", product_type_strings[m_product_type].is_gui);        SetDictionaryKey("IS_SERVICE", product_type_strings[m_product_type].is_service);        SetDictionaryKey("HAS_HTTP", product_type_strings[m_product_type].has_http);        SetDictionaryKey("HAS_SIGNATURE", product_type_strings[m_product_type].has_signature);        srand(clock());	MsDevWizardaw.m_Dictionary["SIGNATURE_KEY"].Format(                        "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255);	MsDevWizardaw.m_Dictionary["APPLICATION_KEY"].Format(                        "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255,                        rand()&255, rand()&255, rand()&255, rand()&255);        MsDevWizardaw.m_has_gui = product_type_strings[m_product_type].is_gui;        MsDevWizardaw.m_is_service = product_type_strings[m_product_type].is_service;        MsDevWizardaw.m_has_http = product_type_strings[m_product_type].has_http;        MsDevWizardaw.m_use_dlls = m_use_dlls;        MsDevWizardaw.m_pwlib_dir = m_pwlib_dir;	return TRUE;	// return FALSE if the dialog shouldn't be dismissed}BEGIN_MESSAGE_MAP(CCustom1Dlg, CAppWizStepDlg)	//{{AFX_MSG_MAP(CCustom1Dlg)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CCustom1Dlg message handlersBOOL CCustom1Dlg::OnInitDialog() {	CAppWizStepDlg::OnInitDialog();		m_class_name = MsDevWizardaw.m_Dictionary["Safe_root"];	m_product_name = MsDevWizardaw.m_Dictionary["Root"];	m_exe_name = MsDevWizardaw.m_Dictionary["Root"];        m_pwlib_dir = "";        CString full_dir = MsDevWizardaw.m_Dictionary["FULL_DIR_PATH"];        full_dir.MakeLower();        int pos;        if ((pos = full_dir.Find("\\pwlib\\")) >= 0) {          pos += 6;          do {            full_dir = full_dir.Mid(pos+1);            if (!full_dir.IsEmpty())              m_pwlib_dir += "..\\";          } while ((pos = full_dir.Find('\\')) >= 0);        }        else {          const char * pwlib_dir = getenv("PWLIB_DIR");          if (pwlib_dir == NULL)            pwlib_dir = "c:\\pwlib";          if (_access(pwlib_dir, 0) == 0)            m_pwlib_dir = pwlib_dir;        }        UpdateData(FALSE);	return TRUE;  // return TRUE unless you set the focus to a control	              // EXCEPTION: OCX Property Pages should return FALSE}

⌨️ 快捷键说明

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