**如下:
hdc hdesktop = getdc(getdesktopwindow());
int bitperpixel = getdevicecaps(hdesktop, bitspixel);
int width = getdevicecaps(hdesktop, horzres);
int height = getdevicecaps(hdesktop, vertres);
bitperpixel = 24;
hdc htemp = createcompatibledc(hdesktop);
hbitmap membitmap, oldmembitmap;
membitmap = createcompatiblebitmap(hdesktop, width, height);
oldmembitmap = (hbitmap)selectobject(htemp, membitmap);
if(oldmembitmap == null) return;
bitblt(htemp, 0, 0, width, height, hdesktop, 0, 0, srccopy);
file *fp = fopen("desk.bmp", "w+b");
bitmapinfoheader bih = ;
bih.bibitcount = bitperpixel;
bih.bicompression = bi_rgb;
bih.biheight = height;
bih.biplanes = 1;
bih.bisize = sizeof(bitmapinfoheader);
bih.bisizeimage = 3 * width * height;
bih.biwidth = width;
bitmapfileheader bfh = ;
bfh.bfoffbits = sizeof(bitmapfileheader) + sizeof(bitmapinfoheader);
bfh.bfsize = bfh.bfoffbits + 3 * width * height;
bfh.bftype = (word)0x4d42;
fwrite(&bfh, 1, sizeof(bitmapfileheader), fp);
fwrite(&bih, 1, sizeof(bitmapinfoheader), fp);
unsigned char * p = new unsigned char[width * height * 3];
getdibits(htemp, membitmap,
0,height,
p,(lpbitmapinfo) &bih,
dib_rgb_colors);
fwrite(p, 1, width * height * 3, fp);
delete p;
fclose(fp);
selectobject(htemp, oldmembitmap);
deletedc(htemp);
Win32程式設計
win32 malloc函式的底層實現是win32api utf 16編碼以16位無符號整數為單位,注意是16位為乙個單位,不是乙個字元就只有16位,這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,也可能是4個位元組現在機器上的unicode編碼一般就是指utf 16 以兩個位...
win32控制台 win32工程 MFC工程的區別
空專案 控制台 問2個問題即可。1.控制台 vs win32 mfc?嗯,有不有臉?有臉,選win32或mfc。沒有臉,選控制台。臉就是視窗,就是window.s 這個有臉 這個沒臉 控制台與win32 mfc 互動方式的不同,前者是cml 命令模式 後者是gui 使用者介面 2.mfc vs wi...
win32 資料型別 vs c
1 在c 中做很多應用需要使用win32 api,但發現原型函式的一些資料型別看起來非常費勁,甚至在c 中 沒有 這種資料型別,查閱了一下資料,資料型別對應關係整理如下,希望對大家有用 2 bool system.int32 3 boolean system.int32 4 byte system....