遍历文件夹

日志

遍历文件夹是常用的而且是重要的功能,下面代码的功能是遍历工程目录下的*.jpg文件,并返回文件的路径,使用MessageBox提示,如果添加了Kodak Edit Box控件并绑定变量m_img的话可以实现遍历到的图像在对应位置的显示。

CFileFind finder;
BOOL bWorking = finder.FindFile("*.jpg");
while (bWorking)
{
bWorking = finder.FindNextFile();
AfxMessageBox((LPCTSTR) finder.GetFileName());
CString str;
str=(LPCTSTR) finder.GetFilePath();
AfxMessageBox(str);
m_img.SetImage(str);
m_img.Display();
}

如果遍历的是工程目录下的images文件夹的话可以改为finder.FindFile(“images\\*.jpg”);

如果是确定目录的话可以直接写finder.FindFile(“x:\\images\\*.jpg);

如果是选择目录或者是变化的目录,返回目录地址为str,则使用finder.FindFile(str+”\\*.jpg”);

如果是简单使用且图比较少的话建议使用第一种方法,图多的话就选择第二种方法为好。而如果是变化目录或者选择目录,当然是选择第三种了。

主要的原理就是使用CFileFind类实现对文件的遍历。

解决windows7资源管理器bex错误崩溃

复制下面代码
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage]
@=hex(2):40,00,25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,\
79,00,63,00,6f,00,6d,00,70,00,75,00,74,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,34,00,30,00,30,00,00,00
"MUIVerb"=hex(2):40,00,25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,6d,00,79,00,63,00,6f,00,6d,00,70,00,75,00,74,00,2e,00,64,00,6c,00,6c,00,\
2c,00,2d,00,34,00,30,00,30,00,00,00
"SuppressionPolicy"=dword:4000003c
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command]
@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,\
00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,2e,00,65,00,78,00,\
65,00,20,00,2f,00,73,00,20,00,25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6f,00,\
6d,00,70,00,6d,00,67,00,6d,00,74,00,2e,00,6d,00,73,00,63,00,00,00
存为.reg文件运行i注入注册表即可ok。测试该方法有效。
后记:此方法当时认为有效,第二天使用又出现此种情况
暂未出现bex错误。
不过又出现了其他错误提示StackHash_0a9e 导致资源管理器崩溃,经过搜索下面这个帖子感觉比较靠谱,不过仍无解决之法,期待高人解决哈。

Win7 sp1 x64: 不少软件无法运行,提示StackHash_0a9e  —http://zhanyonhu.blog.163.com/blog/static/16186044201201813919579/

Win7笔记本做WiFi源设置

1 wifi是神马?   高保真传输协议 —更多可谷哥度娘
2 wifi能干啥?    好处多了去了,只要有源在一定范围内可无线传递☆☆☆☆☆
3   需要源, 如今笔记本都自带了无线源功能(win7    Xp设置稍麻烦)
4   笔记本如何开启呢?
方法一: 软件包conectify
方法二: 动手开启
具体命令开启方法如下
以管理员模式运行cmd
netsh wlan set hostednetwork mode=allow ssid=用户名 key=密码
查看网络连接并设置共享该无线网络
回到cmd输入
netsh wlan start hostednetwork开启无线即可使用wifi功能

Ps: 如果嫌每次用都输入设置麻烦,可以写成批命令运行, *^_^*

wp插件

停用插件:

1 对应mobile版本插件  个人感觉现在手机浏览器直接访问都很快,所以就干脆卸载该插件了。

2 微博连接插件   传播太疯狂啦

3 pagenavi分页插件,改用代码实现或者直接用wordpress自带的上一页下一页功能

4 akismet,尝试使用willin大师的小墙

5 wordpress Importer  需要导入导出的时候启动即可

ps. 停用插件全部清楚(目的:提高加载速度)

更新插件:

1 用post2qzone代替wp2qzone(目的:实现离线工具和后台发布文章均可同步到QZone)

ps. 以前登录后台没几分钟就会自动退出,自卸载微博连接插件之后再无此问题出现哈。

启用的插件:

sitemap: Baidu Sitemap XML; Google XML

数据(2):备份(WordPress Database Backup);缓存(WP Super Cache)

交互(2):post2qzone(同步到QQ空间);无觅

其他(3):wp_postviews(阅读次数统计);WP-UTF8-Excerpt(首页摘要/可去除);Random Quotes(页脚随机显示名人名言)

VC6中选择文件夹代码

VC6中有CFileDialog实现选择文件,对于选择文件夹不太方便,下面这段代码可以实现选择文件夹的功能。

经过查找和搜索,得到下面的解决方法。给自己一个备份,给需要的朋友一个提示,下次碰到这个问题的时候好解决。

——-本行纯为占版面————-

<div class="source" style="font-family: '[object HTMLOptionElement]', Consolas, 'Lucida Console', 'Courier New'; color: #000000;"><span style="color: #000000;">UpdateData</span>(<span style="color: #000000;">TRUE</span>);
<span style="color: #000080; font-weight: bold;">char</span> <span style="color: #000000;">szDir</span><span style="color: #000000;">[</span><span style="color: #000000;">MAX_PATH</span><span style="color: #000000;">];</span>
<span style="color: #000000;">BROWSEINFO</span> <span style="color: #000000;">bi</span>;
<span style="color: #000000;">ITEMIDLIST</span> <span style="color: #000000;">*</span><span style="color: #000000;">pidl</span>;
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">hwndOwner</span> <span style="color: #000000;">=</span> <span style="color: #000080; font-weight: bold;">this</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">m_hWnd</span>; <span style="color: #008800; font-style: italic;">// 指定父窗口,在对话框显示期间,父窗口将被禁用 </span>
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">pidlRoot</span> <span style="color: #000000;">=</span> <span style="color: #000000;">NULL</span>; <span style="color: #008800; font-style: italic;">// 如果指定NULL,就以“桌面”为根 </span>
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">pszDisplayName</span> <span style="color: #000000;">=</span> <span style="color: #000000;">szDir</span>;
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">lpszTitle</span> <span style="color: #000000;">=</span> <span style="color: #0000ff;">"请选择目录"</span>; <span style="color: #008800; font-style: italic;">// 这一行将显示在对话框的顶端 </span>
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">ulFlags</span> <span style="color: #000000;">=</span> <span style="color: #000000;">BIF_STATUSTEXT</span>  | <span style="color: #000000;">BIF_USENEWUI</span> | <span style="color: #000000;">BIF_RETURNONLYFSDIRS</span>;
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">lpfn</span> <span style="color: #000000;">=</span> <span style="color: #000000;">NULL</span>;
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">lParam</span> <span style="color: #000000;">=</span> <span style="color: #0000ff;">0</span>;
<span style="color: #000000;">bi</span><span style="color: #000000;">.</span><span style="color: #000000;">iImage</span> <span style="color: #000000;">=</span> <span style="color: #0000ff;">0</span>;
<span style="color: #000000;">pidl</span> <span style="color: #000000;">=</span> <span style="color: #000000;">SHBrowseForFolder</span>(<span style="color: #000000;">&amp;</span><span style="color: #000000;">bi</span>);
<span style="color: #000080; font-weight: bold;">if</span>(<span style="color: #000000;">pidl</span> <span style="color: #000000;">==</span> <span style="color: #000000;">NULL</span>) <span style="color: #000080; font-weight: bold;">return</span>;
<span style="color: #000080; font-weight: bold;">if</span>(<span style="color: #000000;">!</span><span style="color: #000000;">SHGetPathFromIDList</span>(<span style="color: #000000;">pidl</span><span style="color: #000000;">,</span> <span style="color: #000000;">szDir</span>)) <span style="color: #000080; font-weight: bold;">return</span>;
<span style="color: #000080; font-weight: bold;">else</span> <span style="color: #000000;">m_path</span> <span style="color: #000000;">=</span> <span style="color: #000000;">szDir</span>;
<span style="color: #000000;">UpdateData</span>(<span style="color: #000000;">FALSE</span>);</div>

VC6中直接运行该代码出现错误error C2065: ‘BIF_USENEWUI’ : undeclared identifier

取掉这个BIF_USENEWUI可以通过编译运行,但是最终的选择框比较小、无法新建文件夹且无法改变弹出窗口的大小。

VC6中解决该问题最简单最有效的方法是在预编译中定义BIF_USENEWUI,只需在#if —#endif中内容处加入下面这句即可#define BIF_USENEWUI 0×0050

顺便附上打开文件对话框的代码

1 CFileDialog fileDlg(true);
2 fileDlg.DoModal();

打开文件夹对话框原型为CFileDialog   fileDlg(BOOL   bOpenFileDialog,   LPCTSTR   lpszDefExt   =   NULL,   LPCTSTR   lpszFileName   =   NULL,   DWORD   dwFlags   =   OFN_HIDEREADONLY   |   OFN_OVERWRITEPROMPT,   LPCTSTR   lpszFilter   =   NULL,   CWnd*   pParentWnd   =   NULL),可以根据需要填入需要的参数。

12306火车网络订票体验

想买火车票回家了,听说有电话订票和网络订票,对于咱们经常使用电脑的人来说,尝试咱们最新的网络订票是必须的。

最前面需要的一步:导入证书。12306首页下载证书,然后导入即可。

首先是网络注册,最快的速度花去5分钟。不是因为你填入速度慢,而是因为你填入地址神马的,会提示找不到这个地址(比如西安),经测试,需要等待一会之后输入就可以出现。里头填空的地方有好几个这样的地方,需要耐心等待。而后向你的邮箱发送一封确认登录的Email。

确认之后,注册完成。

然后是登录。输入用户名/密码/验证码 ,登录。不料无法登录哈。提示:

当前访问用户过多,请稍候重试!

目前:继续尝试中……

ps.  结果第二天电话订了两张,但是座位号不连着,第三天又重新到窗口去买票哈,不过还好,买到了!

附:从2012年1月1日起,对电话订票、互联售票、代售点和车站窗口售票预售期进行调整。具体为:电话订票、互联网售票预售期为12天(含当天,下同);市内代售点售票窗口预售期为10天。