转载1

 
3月19日
用BitBlt向CStatic上画位图
假设ID_PIC是你的控件ID,Bitmap对象名是bmp;那么:
CDC *pDC=(CDC*)GetDlgItem(ID_PIC)->GetWindowDC();
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap *pOldBitmap=MemDC.SelectObject(&bmp);
pDC->BitBlt(0,0,160,160,&MemDC,0,0,SRCCOPY);
微软内置的简单强劲的杀进程命令

  问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了。  

  答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:
  c:/> ntsd -c q -p PID  

  只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。Ntsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。用法:开个cmd.exe窗口,输入:  

  ntsd -c q -p PID  

  把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器-> 进程选项卡-> 查看-> 选择列-> 勾上"PID(进程标识符)",然后就能看见了。

  答2:xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名。

3月17日
透明图片
/*用于没有掩码图,只有指定透明色,可以进行伸缩*/
void CCommon::DrawTransBitmap( HDC hdcDest,      // 目标DC
 int nXOriginDest,   // 目标X偏移
 int nYOriginDest,   // 目标Y偏移
 int nWidthDest,     // 目标宽度
 int nHeightDest,    // 目标高度
 HDC hdcSrc,         // 源DC
 int nXOriginSrc,    // 源X起点
 int nYOriginSrc,    // 源Y起点
 int nWidthSrc,      // 源宽度
 int nHeightSrc,     // 源高度
 UINT crTransparent  // 透明色,COLORREF类型
 )
{
HBITMAP hOldImageBMP, hImageBMP = CreateCompatibleBitmap(hdcDest, nWidthDest, nHeightDest);// 创建兼容位图
HBITMAP hOldMaskBMP, hMaskBMP = CreateBitmap(nWidthDest, nHeightDest, 1, 1, NULL);// 创建单色掩码位图
HDChImageDC = CreateCompatibleDC(hdcDest);
HDChMaskDC = CreateCompatibleDC(hdcDest);
hOldImageBMP = (HBITMAP)SelectObject(hImageDC, hImageBMP);
hOldMaskBMP = (HBITMAP)SelectObject(hMaskDC, hMaskBMP);
// 将源DC中的位图拷贝到临时DC中
if (nWidthDest == nWidthSrc && nHeightDest == nHeightSrc)
BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, hdcSrc, nXOriginSrc, nYOriginSrc, SRCCOPY);
else
StretchBlt(hImageDC, 0, 0, nWidthDest, nHeightDest,
hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, SRCCOPY);
// 设置透明色
SetBkColor(hImageDC, crTransparent);
// 生成透明区域为白色,其它区域为黑色的掩码位图
BitBlt(hMaskDC, 0, 0, nWidthDest, nHeightDest, hImageDC, 0, 0, SRCCOPY);
// 生成透明区域为黑色,其它区域保持不变的位图
SetBkColor(hImageDC, RGB(0,0,0));
SetTextColor(hImageDC, RGB(255,255,255));
BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, hMaskDC, 0, 0, SRCAND);
// 透明部分保持屏幕不变,其它部分变成黑色
SetBkColor(hdcDest,RGB(0xff,0xff,0xff));
SetTextColor(hdcDest,RGB(0,0,0));
BitBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hMaskDC, 0, 0, SRCAND);
// "或"运算,生成最终效果
BitBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hImageDC, 0, 0, SRCPAINT);
SelectObject(hImageDC, hOldImageBMP);
DeleteDC(hImageDC);
SelectObject(hMaskDC, hOldMaskBMP);
DeleteDC(hMaskDC);
DeleteObject(hImageBMP);
DeleteObject(hMaskBMP);
}
3月10日
CTime类格式化字符串说明
%a
Abbreviated   weekday   name
%A
Full   weekday   name
%b
Abbreviated   month   name
%B
Full   month   name
%c
Date   and   time   representation   appropriate   for   locale
%d
Day   of   month   as   decimal   number   (01   –   31)
%H
Hour   in   24-hour   format   (00   –   23)
%I
Hour   in   12-hour   format   (01   –   12)
%j
Day   of   year   as   decimal   number   (001   –   366)
%m
Month   as   decimal   number   (01   –   12)
%M
Minute   as   decimal   number   (00   –   59)
%p
Current   locale’s   A.M./P.M.   indicator   for   12-hour   clock
%S
Second   as   decimal   number   (00   –   59)
%U
Week   of   year   as   decimal   number,   with   Sunday   as   first   day   of   week   (00   –   53)
%w
Weekday   as   decimal   number   (0   –   6;   Sunday   is   0)
%W
Week   of   year   as   decimal   number,   with   Monday   as   first   day   of   week   (00   –   53)
%x
Date   representation   for   current   locale
%X
Time   representation   for   current   locale
%y
Year   without   century,   as   decimal   number   (00   –   99)
%Y
Year   with   century,   as   decimal   number
%z,   %Z
Time-zone   name   or   abbreviation;   no   characters   if   time   zone   is   unknown
%%
Percent   sign
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值