复制内容到粘贴板或剪切板

//////////////////////////////////////////////////////////////////////////
//复制文字到剪切板
bool CopyTextToClipbrd(LPCTSTR lpData)
{
 if (!OpenClipboard(NULL))
  return false;
 
 bool fOk = false;
 EmptyClipboard();
 
 int len = lstrlen(lpData);
 
 if (len > 0)
 {
  HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(TCHAR));
  
  if (hglbCopy == NULL)
   goto _exit;
  
  LPTSTR  lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
  
  memcpy(lptstrCopy, lpData, len * sizeof(TCHAR));
  
  GlobalUnlock(hglbCopy);
  UINT format = CF_TEXT;

  if (SetClipboardData(format, hglbCopy)==NULL)
   goto _exit;
  
  fOk = true;
 }
 
_exit:
 CloseClipboard();
 
 return fOk;
}
发表在 学习日志 | 标签为 | 留下评论

MFC选择文件夹对话框


void Dlg::OnBtNdBrowse()
{
 // TODO: Add your control notification handler code here
 BROWSEINFO bi = {0};
 
 TCHAR szFilePath[MAX_PATH] = {0};
 ITEMIDLIST *pidl = {0};
 
 bi.hwndOwner = m_hWnd;      
 bi.lpszTitle = "请选择要保存到的文件夹";      
 bi.ulFlags  = BIF_RETURNONLYFSDIRS | BIF_EDITBOX | BIF_NEWDIALOGSTYLE;
 bi.lpfn   = BrowseCallbackProc;
 
 bi.lParam = (LPARAM)"C:\\"; //默认文件夹
 
 pidl = ::SHBrowseForFolder(&bi);  //获取目录
 if (pidl == NULL)
 {
  //MessageBox("选择的目录不能为空");
  return;
 }
 
 if (!::SHGetPathFromIDList(pidl, szFilePath)) //获取目录
  return;
 
 int fpl = strlen(szFilePath);
 if(szFilePath[fpl-1] != '\\')
 {
  szFilePath[fpl] = '\\';
  szFilePath[fpl+1] = '\0';
 }
 //szFilePath 这里获取到了

}

int CALLBACK Dlg::BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
 if(uMsg == BFFM_INITIALIZED ){        //设置初始化目录
  ::SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lpData);
 }
 return 0;
}

选择文件夹对话框

发表在 学习日志 | 标签为 | 留下评论

手机常用的几个密码

说说自己所知道的一点皮毛。。。

1.手机解锁密码

它是跟SIM没有任何关系的,插不插SIM都没影响,也和移动公司无任何关系,只用来锁住和解锁手机,一般开关机都会用到。因为是可以修改,所以是这个密码是可以被破解的,估计存储在手机的EEPROM存储器里。如诺基亚的默认锁码是12345。

2.SIM卡服务密码

这个密码是不存储在SIM卡上的,只存在远方的移动公司的数据库里,移动公司验证该手机号码所属权的唯一方法。可以修改,修改可以通过打10086或去移动相关网站修改。通过服务密码可以在移动公司查询到自己相关套餐、费用、流量、PUK码等。。。

3.SIM卡PUK码

PUK码和SIM有关,一张SIM卡一个固定PUK码,和手机无任何关系。手机号码绑定了PUK码,所以在移动公司可以查到相关手机号码的PUK码。PUK码不可以修改,估计存储在SIM卡芯片的ROM存储器里,只读不能写,所以不能修改。利用PUK码可以解锁PIN码。

4.SIM的PIN码

PIN码也和SIM有关,和手机无关,4位密码,默认1234或0000,可以修改,估计存储在SIM卡芯片的EEPROM存储器里。每次开关机、离线模式和其他模式切换都会用到。

服务密码、PUK码、PIN码的关系:利用服务密码可以查询到这个手机号码绑定的PUK码,利用PUK码可以解锁PIN码。PIN可以输三次,错了要输PUK码解锁,PUK码可以输10次,10次错了直接烧卡报废,报废后只能换卡。

发表在 学习日志 | 标签为 , , | 留下评论

一年又一年

  又过了一年!自己却一点成绩都没有,就想小时候寒假考试没得过80分以上的。

  不知为什自从工作后自己总是会回想过去的一些事,不管是高兴的还是不高兴的。听说一直活在过去不好,自己当然知道要打起精神来迎接明天,但不知为什么做不到!后悔啊!小学和初中后悔自己为什么那么胆小,可能是由于经常转学吧~,在深德后悔浪费了那么多宝贵的时间,哪是除了电子课其他的一律逃课,逃课回宿舍睡觉,如果用这些时间来学习就好了,不至于现在天天都觉得时间不够。。。哎~哎~~哎~~~

发表在 学习日志 | 留下评论

谈谈龙川论坛

  龙川论坛是一个地方论坛,自己做了一个多月版主,发现在那提建议没用,那些老头根本不理你。根据自己所知道的一点皮毛在这说说我的建议或问题。

1.链接不是静态的。

2.没有404页面。

3.好多版块内容相同,可以合成一个的。

4.虽然注册人多,但只会偶尔上的。

5.白色主题很普通,要给人一个整体印象。

6.服务器或机房经常出问题,就像某网友说的像大姨妈-囧rz。

7.连版主都不可以编辑HTML代码,发帖、修改、编辑、什么的很麻烦。

8.没打开WAP浏览功能,要想手机上网的人有很多的,而且手机流量费又很贵!

9.很多有用功能都没打开!!!以后再补充

发表在 心情日志 | 标签为 , | 留下评论

这几天

  新买一本《算法导论》原书第二版,打开看眼花了,这书根本不适合我这种菜鸟看。适合读过高中以上的、数学很厉害的人看。买了后悔啊!

还没上次买的《零基础学习算法》简单易懂。。。

还花了350元买了天祥电子的TX-3B ARM7嵌入式44B0入门级学习板,花这么多钱买他的是以为他那有视频教程。买后才发现没有视频教程的,要看着说明书自学。自己用笔记本没有并口,还要再买一个 JLINK  ARM 全功能 USB2.0 仿真器。经过测试板上有个D8发光二极管不亮。估计没什么大问题。。。

发表在 学习日志 | 标签为 , | 留下评论

函数的重载与函数模板的区别

  《C++程序设计》一书上抄下来的,自己常常混淆,所以记录一下加深印象。

—————————————————————————————————————————-

函数的重载:

C++允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。这就是函数重载。

重载函数的参数个数、参数类型或参数顺序3者中必须至少有一种不同,函数返回值类型可以相同也可以不同。

————————————————————————————————————————–

函数模板:

所谓函数模板。实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定以多个函数,只需在模板中定义一次即可。

template <typename T>            //模板声明。template的含义是“模板”。关键字typename或class表示“类型名”。其中T为类型参数,类型参数可以不只一个,可以根据需要确定个数。

T max (T a,T b,T c)                       //定义一个通用函数,用T作虚拟的类型名

模板只适用于函数体相同、函数的参数个数相同而类型不同的情况,如果参数的个数不同,则不能用函数模板。

—————————————————————————————————————————–

总结:

方法 返回值类型 参数个数 参数类型 参数顺序 函数体
重载 可同也可不同 必须有一种不同 不同
模板 相同 相同 不同 相同 相同
发表在 学习日志 | 留下评论

社会化分享按钮插件

  jiathis-今天新发现,很简单,有点像无觅的文章随机插件,安装设置傻瓜化。

JiaThis是一个提供网页地址收藏、分享及发送的WEB2.0按钮工具,网站的浏览者可以方便的分享到人人网、分享到开心网、分享到QQ空间、分享到新浪微博等一系列社会化关系网络站点。
网站主可以在这里获得标准按钮JS代码,嵌入到自己的网站…让网站链接分享到互联网各个角落!
个人用户可以在这里给浏览器添加分享快捷方式,下次在浏览其他网站时,直接点击收藏的这个链接即可调入Jiathis“分享到…”功能!

相关问题:http://www.jiathis.com/faq 

它提供了WordPress平台的插件,详情:http://www.jiathis.com/help/html/wordpress-install-jiathis

发表在 免费&推荐 | 标签为 | 留下评论

Discuz 7.2 Nginx伪静态规则

摘自网上:

在server{ }中添加下面这几段即可:
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2 last;
rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 last;
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3 last;
rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3 last;
rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2 last;
然后重启nginx。。。

发表在 VPS, 转载 | 标签为 | 一条评论

Nginx优化

摘自网上

worker_processes 8;
nginx进程数,建议按照cpu数目来指定,一般为它的倍数。

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。

worker_rlimit_nofile 102400;
这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。

use epoll;
使用epoll的I/O模型,这个不用说了吧。

worker_connections 102400;
每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。

keepalive_timeout 60;
keepalive超时时间。

client_header_buffer_size 4k;
客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求的头部大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。

open_file_cache max=102400 inactive=20s;
这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。

open_file_cache_valid 30s;
这个是指多长时间检查一次缓存的有效信息。

open_file_cache_min_uses 1;
open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。

————————————————————————————————————————————————–

注意下面几句默认没有的是要自己增加的:

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;
写在最外部。

 open_file_cache max=204800 inactive=20s;
  open_file_cache_min_uses 1;
  open_file_cache_valid 30s;

这三句要写在http{}内。我就是因为这几句没放在里面而启动不了Nginx的。

修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t

发表在 VPS | 标签为 | 留下评论