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

📄 propertypage7.cpp

📁 mytoolpad 源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		memset(m_name,0,200);
		memset(m_dada,0,200);

		while(RegEnumValue(m_hkey,m_index,m_name,&m_namelen,NULL,&m_attr,(LPBYTE)m_dada,&m_datalen)==ERROR_SUCCESS)
		{
			m_index++;
			if(strcmp(m_name,"")!=0)
				InsertTreeItem(m_start,m_name,3001+m_index,m_root,0);

			m_namelen=200;
			m_datalen=200;
			memset(m_name,0,200);
			memset(m_dada,0,200);
		}
		if(RegCloseKey(m_hkey)!=ERROR_SUCCESS)
			MessageBox("关闭键值失败");
	}
}

BOOL CPropertyPage7::FileExist(CString m_file)
{
	BOOL ret=FALSE;
	if(m_file==_T(""))
		return ret;

	HANDLE file=CreateFile(m_file,0,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if(file!=INVALID_HANDLE_VALUE)
	{
		CloseHandle(file);
		ret=TRUE;
	}
	return ret;
}

//创建树
HTREEITEM CPropertyPage7::CreateTree(CTreeCtrl &tree,char * text)
{
	TV_INSERTSTRUCT tci;
	tci.item.mask=TVIF_TEXT|TVIF_PARAM;
	tci.item.stateMask=0;
	tci.item.pszText=text;
	tci.item.iImage=I_IMAGECALLBACK;
	tci.item.iSelectedImage=I_IMAGECALLBACK;
	tci.item.cchTextMax=lstrlen(tci.item.pszText);
	tci.item.lParam=0;
	tci.hParent=NULL;
	tci.hInsertAfter=TVI_LAST;
	return(tree.InsertItem(&tci));
}

//插入一项到树中
HTREEITEM CPropertyPage7::InsertTreeItem(CTreeCtrl &tree,char * text,int index,HTREEITEM parent,int image)
{
	TV_INSERTSTRUCT tci;
	tci.item.mask=TVIF_TEXT|TVIF_PARAM;
	tci.item.stateMask=0;
	tci.item.pszText=text;
	tci.item.iImage=0;
	tci.item.iSelectedImage=image;
	tci.item.cchTextMax=lstrlen(tci.item.pszText);
	tci.item.lParam=index;
	tci.hParent=parent;
	tci.hInsertAfter=TVI_LAST;
	return(tree.InsertItem(&tci));
}

void CPropertyPage7::OnSelectdir() 
{
	CGetDirectory m_dir(this);
	m_dir.DoModal();
	m_error=m_directory;
	UpdateData(FALSE);
}

void CPropertyPage7::OnSetupattribute() 
{
	UpdateData(TRUE);
	m_error=_T("开始设置属性");
	UpdateData(FALSE);

	DWORD m_attr=FILE_ATTRIBUTE_NORMAL;
	if(m_text)
		m_attr|=FILE_ATTRIBUTE_ARCHIVE;
	if(m_read)
		m_attr|=FILE_ATTRIBUTE_READONLY;
	if(m_hidden)
		m_attr|=FILE_ATTRIBUTE_HIDDEN;
	if(m_system)
		m_attr|=FILE_ATTRIBUTE_SYSTEM;

	char * m_dirname=m_directory.GetBuffer(m_directory.GetLength());
	SetAllFileAttrs(m_dirname,m_attr);

	m_error=_T("属性设置完毕");
	UpdateData(FALSE);
}

void CPropertyPage7::SetAllFileAttrs(char *m_dir,DWORD m_attr)
{
	int  ret=0;
	struct _finddata_t fileinfo;
	char m_dirname[250];

	wsprintf(m_dirname,"%s\\*.*",m_dir);
	long handle=_findfirst(m_dirname,&fileinfo);
	
	while(handle>0 && (ret==0))
	{			
		if(fileinfo.attrib & _A_SUBDIR)
		{
			if((strcmpi(fileinfo.name,".")!=0) && (strcmpi(fileinfo.name,"..")!=0))
			{
				wsprintf(m_dirname,"%s\\%s",m_dir,fileinfo.name);
				SetAllFileAttrs(m_dirname,m_attr);
			}
		}
		else
		{
			wsprintf(m_dirname,"%s\\%s",m_dir,fileinfo.name);
			SetFileAttributes(m_dirname,m_attr);

			m_error=_T(m_dirname);
			UpdateData(FALSE);
		}
		ret=_findnext(handle,&fileinfo);
	}
}

void CPropertyPage7::DeleteIni(char *buffer,char *m_name)
{
	char * m_find=strstr(buffer,m_name);
	int  m_len=strlen(m_name);
	if(m_find!=NULL)
	{
		strcpy(m_find,m_find+m_len);
		*(m_find+m_len)='\0';
	}
}

void CPropertyPage7::DeleteWinini(char * m_name)
{
	char buffer[255],windows[200];
	GetWindowsDirectory(windows,200);
	strcat(windows,"\\win.ini");
	GetPrivateProfileString("windows","load","",buffer,255,windows);
	DeleteIni(buffer,m_name);
	WritePrivateProfileString("windows","load",buffer,windows);

	GetPrivateProfileString("windows","run","",buffer,255,windows);
	DeleteIni(buffer,m_name);
	WritePrivateProfileString("windows","run",buffer,windows);
}
void CPropertyPage7::DeleteStartup(char * m_name)
{
	char m_dirname[200];
	GetWindowsDirectory(m_dirname,200);
	strcat(m_dirname,"\\Start Menu\\Programs\\启动\\");
	strcat(m_dirname,m_name);
	DeleteFile(m_dirname);
}
void CPropertyPage7::DeleteRegistry(char * m_name)
{
	COrganizeInifile m_ini;
	m_ini.DeleteKeyValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",m_name);
	m_ini.DeleteKeyValue(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",m_name);
}
void CPropertyPage7::DeleteSelfStart(char * m_name,int m_pos)
{
	switch(m_pos)
	{
	case 1:
		DeleteWinini(m_name);
		break;
	case 2:
		DeleteStartup(m_name);
		break;
	case 3:
		DeleteRegistry(m_name);
		break;
	}
}

void CPropertyPage7::OnDeleteshortcut() 
{
	HTREEITEM hSel=m_start.GetSelectedItem();
	DWORD m_data=m_start.GetItemData(hSel);
	CString m_name=m_start.GetItemText(hSel);
	DeleteSelfStart(m_name.GetBuffer(m_name.GetLength()),(int)(m_data/1000));
	m_start.DeleteItem(hSel);
}

void CPropertyPage7::OnRefresh()
{
	InitPanel();
	EnablePanel();
}

void CPropertyPage7::OnBrowse() 
{
	CFileDialog dlg(TRUE,"*.bmp",m_begin,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"图片文件 (*.bmp)|*.bmp||");
	if(dlg.DoModal()==IDOK)
	{
		m_begin=dlg.GetPathName();
		UpdateData(FALSE);
		EnablePanel();
	}
}

void CPropertyPage7::OnBrowse2() 
{
	CFileDialog dlg(TRUE,"*.bmp",m_end,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"图片文件 (*.bmp)|*.bmp||");
	if(dlg.DoModal()==IDOK)
	{
		m_end=dlg.GetPathName();
		UpdateData(FALSE);
		EnablePanel();
	}
}

void CPropertyPage7::OnBrowse3() 
{
	CFileDialog dlg(TRUE,"*.bmp",m_reset,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"图片文件 (*.bmp)|*.bmp||");
	if(dlg.DoModal()==IDOK)
	{
		m_reset=dlg.GetPathName();
		UpdateData(FALSE);
		EnablePanel();
	}
}

void CPropertyPage7::OnChangeEndpicture() 
{
	EnablePanel();
}

void CPropertyPage7::OnChangeRestartpicture() 
{
	EnablePanel();
}

void CPropertyPage7::OnChangeStartpicture() 
{
	EnablePanel();
}

void CPropertyPage7::SaveAsForeword(CString m_bit,int m_mode)
{
	char windows[200];
	GetWindowsDirectory(windows,200);
	CString m_desfile=_T(windows);
	char * sou,*des;
	DWORD m_attr=FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL;
	BOOL m_logo=FALSE;

	switch(m_mode)
	{
	case 1:
		m_desfile=_T("c:\\logo.sys");
		SetFileAttributes("c:\\msdos.sys",m_attr);
		wsprintf(windows,"%d",1);
		WritePrivateProfileString("Options","Logo",windows,"c:\\msdos.sys");
		m_attr|=FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM;
		SetFileAttributes("c:\\msdos.sys",m_attr);
		break;
	case 2:
		m_desfile+=_T("\\logow.sys");
		break;
	case 3:
		m_desfile+=_T("\\logos.sys");
		break;
	}

	sou=m_bit.GetBuffer(m_bit.GetLength());
	des=m_desfile.GetBuffer(m_desfile.GetLength());
	if(strcmpi(sou,des)!=0)
	{
		SetFileAttributes(m_desfile,m_attr);
		DeleteFile(m_desfile);
		CopyFile(sou,des,FALSE);
	}
}

void CPropertyPage7::OnSetup() 
{
	SaveAsForeword(m_begin,1);
}

void CPropertyPage7::OnSetup2() 
{
	SaveAsForeword(m_end,2);
}

void CPropertyPage7::OnSetup3() 
{
	SaveAsForeword(m_reset,3);
}

BOOL CPropertyPage7::PreTranslateMessage(MSG* pMsg) 
{
	m_tooltip.RelayEvent(pMsg);
	
	return CPropertyPage::PreTranslateMessage(pMsg);
}

BOOL CPropertyPage7::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	m_tooltip.Create(this);
	m_tooltip.Activate(TRUE);
	m_tooltip.AddTool(GetDlgItem(IDC_EXECUTEFILE),"要创建快捷方式的可执行文件名");
	m_tooltip.AddTool(GetDlgItem(IDC_BROWSEEXECUTE),"寻找可执行文件");
	m_tooltip.AddTool(GetDlgItem(IDC_SHORTNAME),"快捷方式全名");
	m_tooltip.AddTool(GetDlgItem(IDC_STARTTREE),"所有快捷方式列表");
	m_tooltip.AddTool(GetDlgItem(IDC_MAKEEFFECT),"创建快捷方式");
	m_tooltip.AddTool(GetDlgItem(IDC_TEXTONLY),"设置文件属性为文本属性");
	m_tooltip.AddTool(GetDlgItem(IDC_READONLY),"设置文件属性为只读属性");
	m_tooltip.AddTool(GetDlgItem(IDC_HIDDENONLY),"设置文件属性为隐藏属性");
	m_tooltip.AddTool(GetDlgItem(IDC_SYSTEMONLY),"设置文件属性为系统属性");
	m_tooltip.AddTool(GetDlgItem(IDC_SELECTDIR),"选择要处理的目录");
	m_tooltip.AddTool(GetDlgItem(IDC_SETUPATTRIBUTE),"设置目录下的所有文件属性为当前指定属性");
	m_tooltip.AddTool(GetDlgItem(IDC_STARTPICTURE),"Windows开机启动画面");
	m_tooltip.AddTool(GetDlgItem(IDC_ENDPICTURE),"Windows正常关机画面");
	m_tooltip.AddTool(GetDlgItem(IDC_RESTARTPICTURE),"Windows重新启动画面");
	m_tooltip.AddTool(GetDlgItem(IDC_BROWSE),"搜索Windows开机启动画面文件(320x400x256)");
	m_tooltip.AddTool(GetDlgItem(IDC_BROWSE2),"搜索Windows正常关机画面文件(320x400x256)");
	m_tooltip.AddTool(GetDlgItem(IDC_BROWSE3),"搜索Windows重新启动画面文件(320x400x256)");
	m_tooltip.AddTool(GetDlgItem(IDC_SETUP),"设置Windows开机启动画面");
	m_tooltip.AddTool(GetDlgItem(IDC_SETUP2),"设置Windows正常关机画面");
	m_tooltip.AddTool(GetDlgItem(IDC_SETUP3),"设置Windows重新启动画面");
	
	return TRUE;
}

⌨️ 快捷键说明

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