亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zfiledialog.cpp

?? MD5算法的程序,包括頭文件,可以運行,可以對文件進行加密
?? CPP
字號:
/*-======================- Copyright (c) 2007 -======================-

程序作者:

    Hacker Ans : 駭客任務組Ans軟件工作室
聯系方式:

    QQ:360038060
	[oopfans]群:13161288


修改時間:

    2007-03-09

功能描述:
    利用Win32API調用系統公用對話框(文件打開,保存,目錄選擇..)

版權聲明:
    許可任何單位,個人隨意使用,拷貝,修改,散布及出售這份代碼,但是必須保
    留此版權信息,以慰藉作者辛勤的勞動,及表明此代碼的來源,如若此份代碼
    有任何BUG,請通知作者,以便彌補作者由于水平所限而導致的一些錯誤和不
    足,謝謝!

-======================- Copyright (c) 2006 -======================-*/

#include "stdafx.h"
#include "ZFileDialog.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

ZFileDialog::ZFileDialog()
{

}

ZFileDialog::~ZFileDialog()
{

}

/***********************
使Open或Save對話框居中
***********************/
UINT_PTR ZFileDialog::OFNHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM lParam)
{
	if(uiMsg==WM_SHOWWINDOW)
	{
		RECT rtWnd,sysRect;
		::GetWindowRect(GetParent(hdlg),&rtWnd);
		SystemParametersInfo(SPI_GETWORKAREA,0,&sysRect,0);

		::MoveWindow(GetParent(hdlg),
					(sysRect.right-(rtWnd.right-rtWnd.left))/2,
					(sysRect.bottom-(rtWnd.bottom-rtWnd.top))/2,
					rtWnd.right-rtWnd.left,
					rtWnd.bottom-rtWnd.top,
					true);
	}
	return 0;
}

//////////////////////////////////////////////////////////////////////
// options
//////////////////////////////////////////////////////////////////////

string ZFileDialog::GetSelectDirectory(HWND hwnd,const char* szTitle)
{
	string ReturnValue;
	char Path[256]={0};
	BROWSEINFO browseinfo;   
	LPCITEMIDLIST lpcitemidlist;
	browseinfo.hwndOwner=0;   
	browseinfo.pszDisplayName=Path;   
	browseinfo.pidlRoot=NULL;   
	browseinfo.ulFlags=BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS;   
	browseinfo.lpfn=NULL;   
	browseinfo.lpszTitle=szTitle;   
	browseinfo.iImage=0;   
	browseinfo.hwndOwner = hwnd;

	lpcitemidlist=SHBrowseForFolder(&browseinfo);

	if(lpcitemidlist)
	{
		if(SHGetPathFromIDList(lpcitemidlist,Path))
			ReturnValue=Path;
	}
	return ReturnValue;
}

deque<string> ZFileDialog::GetOpenFileName(HWND hwnd,bool MultiSelect,const char* szFilter)
{
	deque<string> dqFileNames;

	char file[256]={0};
	OPENFILENAMEEX openfilename; 
	ZeroMemory(&openfilename, sizeof(OPENFILENAMEEX));

	if( m_sysinfo.GetOSVersion()==1 || 
		m_sysinfo.GetOSVersion()==2 || 
		m_sysinfo.GetOSVersion()==3 || 
		m_sysinfo.GetOSVersion()==4)
		openfilename.lStructSize = sizeof(OPENFILENAME);
	else
		openfilename.lStructSize = sizeof(OPENFILENAMEEX);

	openfilename.hInstance = 0;
	openfilename.lpstrFilter=szFilter;
	openfilename.lpstrFile=file;
	openfilename.nMaxFile=256;
	openfilename.Flags=OFN_EXPLORER | OFN_HIDEREADONLY | OFN_ENABLEHOOK;
	openfilename.Flags|=MultiSelect ? OFN_ALLOWMULTISELECT:0;
	openfilename.hwndOwner=hwnd;
	openfilename.lpfnHook=(LPOFNHOOKPROC)
	m_thunk.Callback(this,&ZFileDialog::OFNHookProc,ZThunk::THISCALL);

	if(::GetOpenFileName(&openfilename))
	{
		char* ptr=openfilename.lpstrFile;
		int Count=0;
		bool IsMulti=false;
		while(*ptr++)
		{
			if(++Count>=2)
			{
				IsMulti=true;
				break;
			}
			while(*ptr++);
		}
		if(IsMulti)
		{
			ptr=openfilename.lpstrFile;
			int nFiles=0;
			string strTmp="";
			while(*ptr++)
			{
				nFiles++;
				if(nFiles==1)
				{
					strTmp=ptr-1;
					if(strTmp[strTmp.size()-1]!='\\')
					{
						strTmp+="\\";
					}
				}
				else if(nFiles>=2)
				{
					dqFileNames.push_back(strTmp+(ptr-1));
				}
				while(*ptr++);
			}
		}
		else
		{
			dqFileNames.push_back((char*)(LPTSTR)openfilename.lpstrFile);
		}
	}
	return dqFileNames;
}

string ZFileDialog::GetSaveFileName(HWND hwnd,bool AutoAddSuffixName,const char* szFilter)
{
	string strFileName="";

	char file[256]={0};
	OPENFILENAMEEX openfilename; 
	ZeroMemory(&openfilename, sizeof(OPENFILENAMEEX));

	if( m_sysinfo.GetOSVersion()==1 || 
		m_sysinfo.GetOSVersion()==2 || 
		m_sysinfo.GetOSVersion()==3 || 
		m_sysinfo.GetOSVersion()==4)
		openfilename.lStructSize = sizeof(OPENFILENAME);
	else
		openfilename.lStructSize = sizeof(OPENFILENAMEEX);
	
	openfilename.hInstance =0;
	openfilename.lpstrFile=file;
	openfilename.nMaxFile=256;
	openfilename.lpstrFilter=szFilter;
	openfilename.Flags=OFN_EXPLORER | OFN_ENABLEHOOK;
	openfilename.hwndOwner=hwnd;
	openfilename.lpfnHook=(LPOFNHOOKPROC)
	m_thunk.Callback(this,&ZFileDialog::OFNHookProc,ZThunk::THISCALL);

	if(!::GetSaveFileName(&openfilename)) return strFileName;

	strFileName=file;
	if(!AutoAddSuffixName) return strFileName;

	//判斷用戶填寫的文件名是否有后綴
	bool IsHaveSuffix=strFileName.find_last_of(".")==-1?false:true;

	//將const char* Filter拆成數組存放
	deque<string> FilterArray;
	while(*szFilter++)
	{
		FilterArray.push_back(szFilter-1);
		while(*szFilter++);
	}

	//如果過濾類型為"*.*",則不進行處理,直接返回
	string strFilter=FilterArray[openfilename.nFilterIndex];
	strFilter.erase(remove_if(strFilter.begin(),strFilter.end(),ptr_fun(::isspace)),strFilter.end());
	if(strFilter=="*.*")  return strFileName;

	string strSuffixName=strFilter.substr(2).c_str();
	if(IsHaveSuffix)
	{
		//如果用戶輸入的后綴和過濾器中的后綴一樣
		if(strFileName.substr(strFileName.find_last_of(".")+1)==strSuffixName)
		{
			return strFileName;
		}
		else
		{
			strFileName+=".";
			strFileName+=strSuffixName;
			return strFileName;
		}
	}
	else
	{
		strFileName+=".";
		strFileName+=strSuffixName;
		return strFileName;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性色生活片免费看爆迷你毛片| 日本一道高清亚洲日美韩| 欧美视频在线观看一区二区| 蜜臀国产一区二区三区在线播放| 欧美国产综合色视频| 欧美精品久久99久久在免费线| 高清日韩电视剧大全免费| 午夜精品久久久久久久| 国产精品美女久久久久久久久 | 成人一级片在线观看| 日韩福利电影在线| 亚洲人成小说网站色在线| 欧美成人精精品一区二区频| 在线观看欧美日本| av电影在线观看不卡| 激情伊人五月天久久综合| 亚洲国产精品久久久久秋霞影院 | 婷婷国产v国产偷v亚洲高清| 亚洲欧洲一区二区在线播放| 精品粉嫩超白一线天av| 欧美日韩中文字幕精品| jlzzjlzz国产精品久久| 国产一区二区三区国产| 秋霞成人午夜伦在线观看| 亚洲精品大片www| 国产精品久久久久久久久免费相片 | 成人一级黄色片| 另类欧美日韩国产在线| 亚洲午夜激情网页| 一区二区高清在线| 亚洲欧洲在线观看av| 中文字幕av免费专区久久| 精品国产免费久久| 欧美成人a在线| 日韩一级片在线观看| 5858s免费视频成人| 欧美三级韩国三级日本一级| 欧美综合在线视频| 欧美在线高清视频| 欧美三级中文字幕在线观看| 一本在线高清不卡dvd| a级精品国产片在线观看| 成人免费观看视频| av电影天堂一区二区在线| 国产一区二区三区四区五区入口 | 亚洲va国产天堂va久久en| 亚洲综合免费观看高清完整版在线| 国产精品二区一区二区aⅴ污介绍| 国产精品午夜在线| 中文字幕一区免费在线观看| 欧美极品另类videosde| 日本一区二区视频在线观看| 欧美高清在线精品一区| 日韩毛片一二三区| 一区二区三区中文免费| 亚洲一线二线三线视频| 图片区小说区国产精品视频| 热久久国产精品| 狠狠狠色丁香婷婷综合激情| 国产精品综合视频| av中文一区二区三区| 色综合中文字幕国产| 色诱视频网站一区| 欧美日韩久久久| 日韩精品一区在线| 国产无一区二区| 国产精品国产三级国产普通话三级| 亚洲欧美另类久久久精品2019| 亚洲aaa精品| 国产一区啦啦啦在线观看| 成人网页在线观看| 在线视频一区二区三区| 欧美一区三区四区| 国产日韩综合av| 亚洲综合视频网| 精品亚洲欧美一区| 99视频热这里只有精品免费| 欧美色老头old∨ideo| 日韩欧美一二三区| 最近日韩中文字幕| 日韩av网站在线观看| 国产成人午夜视频| 欧美性一级生活| 亚洲精品在线三区| 一区二区三区四区在线播放| 免费成人在线视频观看| 从欧美一区二区三区| 欧美日韩精品专区| 国产精品免费久久久久| 日韩福利视频网| 93久久精品日日躁夜夜躁欧美| 91精品欧美久久久久久动漫| 国产精品久久久久天堂| 蜜臀99久久精品久久久久久软件| 成人性生交大片免费看视频在线| 欧美猛男gaygay网站| 中文字幕不卡的av| 日韩成人免费在线| 91麻豆精品一区二区三区| 日韩精品一区二区三区视频播放| 中文字幕在线不卡一区二区三区 | 五月婷婷综合激情| 成人国产精品免费网站| 欧美一区2区视频在线观看| 亚洲视频资源在线| 国产一区二区三区免费| 欧美高清视频在线高清观看mv色露露十八 | 久久久久9999亚洲精品| 婷婷丁香激情综合| 色视频欧美一区二区三区| 精品久久久久av影院| 亚洲午夜精品久久久久久久久| 国产精品一品二品| 91精品国产综合久久久久久久久久 | 制服丝袜亚洲播放| 一区二区三区在线免费视频| 国产精品一区二区久久精品爱涩| 欧美亚洲综合网| 国产精品毛片久久久久久| 久久se精品一区精品二区| 欧美人成免费网站| 亚洲一级电影视频| 91丨porny丨国产| 国产精品欧美久久久久无广告| 国产在线一区观看| 日韩欧美国产一二三区| 日韩电影在线免费看| 欧美日韩国产精品自在自线| 樱花影视一区二区| 91激情五月电影| 亚洲精品一二三四区| 91捆绑美女网站| 一区二区三区四区不卡在线| 99久久精品免费看国产免费软件| 中文字幕一区二区三区在线观看| 成人精品视频网站| 国产精品萝li| 一本大道av伊人久久综合| 最新欧美精品一区二区三区| 成人高清视频在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 成人午夜视频免费看| 国产精品国产三级国产a| 99精品视频一区二区三区| 国产精品福利在线播放| 一本到不卡免费一区二区| 夜夜嗨av一区二区三区四季av| 日本韩国欧美一区二区三区| 亚洲精品乱码久久久久久黑人| 日本成人在线视频网站| 欧美精品粉嫩高潮一区二区| 亚洲va在线va天堂| 欧美亚洲国产一区在线观看网站 | 六月丁香婷婷久久| 91精品久久久久久久久99蜜臂| 亚洲电影视频在线| 欧美大片日本大片免费观看| 日本三级韩国三级欧美三级| 欧美日本免费一区二区三区| 性做久久久久久久免费看| 色域天天综合网| 一区二区三国产精华液| 在线观看日韩一区| 亚洲va国产天堂va久久en| 91福利精品视频| 热久久久久久久| 欧美精品一区二区三区一线天视频 | 91啪亚洲精品| 亚洲老妇xxxxxx| 欧美日韩国产另类一区| 视频一区在线播放| 国产亚洲精品aa| 99国产精品久| 亚洲午夜激情av| 欧美一区二区三区的| 成人综合激情网| 依依成人精品视频| 欧美精品tushy高清| 欧美aⅴ一区二区三区视频| 国产欧美中文在线| 色就色 综合激情| 免费在线观看视频一区| 欧美电视剧免费全集观看| 国产自产视频一区二区三区| 国产精品成人网| 欧美高清性hdvideosex| 成人精品鲁一区一区二区| 亚洲精品国产无天堂网2021| 在线不卡免费欧美| 国产精品一区2区| 日本伊人色综合网| 日本一区二区动态图| 欧美午夜一区二区三区| 天天影视涩香欲综合网 | 欧美视频一区二区在线观看| 日韩精品1区2区3区| 欧美一区日韩一区| 国产综合久久久久影院| 亚洲激情六月丁香| 精品国产乱码久久久久久蜜臀 |