K
kenshinee
Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我是刚刚才接触delphi不久的新手,现在编程遇到了一些问题,希望各位高手不吝赐教啊,谢谢大家了!
程序主旨是这样的:
1、建立临时的bmp文件 -〉 2、将屏幕拷贝到剪贴板 -〉 3、打开文件并将剪贴板内容贴入-〉 4、保存并关闭文件 -〉 5、删除临时文件
其中1、2、5的部分我做的可以运行了,其他部分我查了资料也没有想法,请大家帮帮我啊,谢谢了!
下面是我做出来的程序部分:
var
hDIB:HWND;
sizeWORD;
lpbuf:LPBYTE;
FileHandle:Integer;
begin
//创建临时文件夹和临时文件
DirectoryExists('e:/pictures/');
if (DirectoryExists('e:/pictures/') <> true) then
CreateDir('e:/pictures/')
else
begin
if (FileExists('E:/pictures/usefordelete.bmp') <> true) then
FileCreate('E:/pictures/usefordelete.bmp')
else DeleteFile('E:/pictures/usefordelete.bmp');
FileCreate('E:/pictures/usefordelete.bmp');
end;
//拷贝屏幕到剪贴板
if( OpenClipboard(dlhwnd) ) then
begin
if(lpbi.biClrUsed = 256) then
size:=1024
else
size:=0;
if ((lpbi.biBitCount = 16) or (lpbi.biBitCount = 32)) then size:=size+3 * sizeof(DWORD);
size:=size+lpbi.biSize+lpbi.biSizeImage;
hDIB:=GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, size);
lpbuf:=GlobalLock(hDIB);
CopyMemory(lpbuf, lpbi, size-lpbi.biSizeImage);
CopyMemory(LPSTR(lpbuf)+size-lpbi.biSizeImage,lpdib,lpbi.biSizeImage);
GlobalUnlock(hDIB);
SetClipboardData(CF_DIB,hDIB);
CloseClipboard();
end;
// 删除临时文件和临时文件夹
// DeleteFile('e:/pictures/usefordelete.bmp');
// RemoveDir('e:/pictures');
end;
程序主旨是这样的:
1、建立临时的bmp文件 -〉 2、将屏幕拷贝到剪贴板 -〉 3、打开文件并将剪贴板内容贴入-〉 4、保存并关闭文件 -〉 5、删除临时文件
其中1、2、5的部分我做的可以运行了,其他部分我查了资料也没有想法,请大家帮帮我啊,谢谢了!
下面是我做出来的程序部分:
var
hDIB:HWND;
sizeWORD;
lpbuf:LPBYTE;
FileHandle:Integer;
begin
//创建临时文件夹和临时文件
DirectoryExists('e:/pictures/');
if (DirectoryExists('e:/pictures/') <> true) then
CreateDir('e:/pictures/')
else
begin
if (FileExists('E:/pictures/usefordelete.bmp') <> true) then
FileCreate('E:/pictures/usefordelete.bmp')
else DeleteFile('E:/pictures/usefordelete.bmp');
FileCreate('E:/pictures/usefordelete.bmp');
end;
//拷贝屏幕到剪贴板
if( OpenClipboard(dlhwnd) ) then
begin
if(lpbi.biClrUsed = 256) then
size:=1024
else
size:=0;
if ((lpbi.biBitCount = 16) or (lpbi.biBitCount = 32)) then size:=size+3 * sizeof(DWORD);
size:=size+lpbi.biSize+lpbi.biSizeImage;
hDIB:=GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, size);
lpbuf:=GlobalLock(hDIB);
CopyMemory(lpbuf, lpbi, size-lpbi.biSizeImage);
CopyMemory(LPSTR(lpbuf)+size-lpbi.biSizeImage,lpdib,lpbi.biSizeImage);
GlobalUnlock(hDIB);
SetClipboardData(CF_DIB,hDIB);
CloseClipboard();
end;
// 删除临时文件和临时文件夹
// DeleteFile('e:/pictures/usefordelete.bmp');
// RemoveDir('e:/pictures');
end;