getfinalpathnamebyhandlew的简单介绍

http://www.itjxue.com  2023-01-04 15:33  来源:未知  点击次数: 

无法定位程序输入点Getfinalpathnamebyhandlew于动态链接库kernel32.dll上

无法定位dll输入点是常见的问题,原因是没有安装 vc2010

1、首先确定你的DLL文件已经放到正确的文件夹下

2、去搜一下:vc2010,下载装上就好了

注意:有很多人说安装了VC2010也没用,那肯定是因为VC2010只是解压缩了,并没有点解压后的文件夹里的setup安装

电脑表格打不开怎么整?

这个问题我也碰见过,尝试过很多办法:比如从其他电脑拷贝这个KERNEL32.dll,最后浪费很多时间,还都没有什么用

最简单的办法就是重装一下offic,绝对能解决

在MFC中,如何读取外部的位图文件,让它显示在图片控件(Picture Control)中?

告诉你一个最简单的方法,你一定可以的,弄好了记得给我加分.

1.在你的对话框添一个按钮和一个图片控件(Picture Control).

2.添加一个类,我这里上传不了,只能将.h和.cpp复制过来,你再将拷贝到txt里,改一下扩展名就可以了。

这是Picture.h

#if !defined(AFX_PICTURE_H__COPYFREE_BY_YOVAV_GAD__SOURCES_AT_SUPERMAIN_DOT_COM__INCLUDED_)

#define AFX_PICTURE_H__COPYFREE_BY_YOVAV_GAD__SOURCES_AT_SUPERMAIN_DOT_COM__INCLUDED_

#if _MSC_VER 1000

#pragma once

#endif // _MSC_VER 1000

class CPicture

{

public:

void FreePictureData();

BOOL Load(CString sFilePathName);

BOOL Load(UINT ResourceName, LPCSTR ResourceType);

BOOL LoadPictureData(BYTE* pBuffer, int nSize);

BOOL SaveAsBitmap(CString sFilePathName);

BOOL Show(CDC* pDC, CPoint LeftTop, CPoint WidthHeight, int MagnifyX, int MagnifyY);

BOOL Show(CDC* pDC, CRect DrawRect);

BOOL ShowBitmapResource(CDC* pDC, const int BMPResource, CPoint LeftTop);

BOOL UpdateSizeOnDC(CDC* pDC);

CPicture();

virtual ~CPicture();

IPicture* m_IPicture; // Same As LPPICTURE (typedef IPicture __RPC_FAR *LPPICTURE)

LONG m_Height; // Height (In Pixels Ignor What Current Device Context Uses)

LONG m_Weight; // Size Of The Image Object In Bytes (File OR Resource)

LONG m_Width; // Width (In Pixels Ignor What Current Device Context Uses)

};

#endif

这是Picture.cpp

#include "stdafx.h"

#include "Picture.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

#define HIMETRIC_INCH 2540

#define ERROR_TITLE "CPicture Error" // Error Title (Related To This Class)...

//-----------------------------------------------------------------------------

// Does: Constructor - Create a New CPicture Object To Hold Picture Data

// ~~~~

//

//-----------------------------------------------------------------------------

CPicture::CPicture()

//=============================================================================

{

m_IPicture = NULL;

m_Height = 0;

m_Weight = 0;

m_Width = 0;

}

//-----------------------------------------------------------------------------

// Does: Destructor - Free Data And Information From The CPicture Object

// ~~~~

//

//-----------------------------------------------------------------------------

CPicture::~CPicture()

//=============================================================================

{

if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...

}

//-----------------------------------------------------------------------------

// Does: Free The Allocated Memory That Holdes The IPicture Interface Data

// ~~~~ And Clear Picture Information

//

// Note: This Might Also Be Useful If U Only Need To Show The Picture Once

// ~~~~~ Or If U Copy The Picture To The Device Context, So It Can Still

// Remain On Screen - But IPicture Data Is Not Needed No More

//

//-----------------------------------------------------------------------------

void CPicture::FreePictureData()

//=============================================================================

{

if(m_IPicture != NULL)

{

m_IPicture-Release();

m_IPicture = NULL;

m_Height = 0;

m_Weight = 0;

m_Width = 0;

}

}

//-----------------------------------------------------------------------------

// Does: Open a Resource And Load It Into IPicture (Interface)

// ~~~~ (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)

//

// Note: When Adding a Bitmap Resource It Would Automatically Show On "Bitmap"

// ~~~~ This NOT Good Coz We Need To Load It From a Custom Resource "BMP"

// To Add a Custom Rresource: Import Resource - Open As - Custom

// (Both .BMP And .DIB Should Be Found Under "BMP")

//

// InPut: ResourceName - As a UINT Defined (Example: IDR_PICTURE_RESOURCE)

// ~~~~~ ResourceType - Type Name (Example: "JPG")

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::Load(UINT ResourceName, LPCSTR ResourceType)

//=============================================================================

{

BOOL bResult = FALSE;

HGLOBAL hGlobal = NULL;

HRSRC hSource = NULL;

LPVOID lpVoid = NULL;

int nSize = 0;

if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...

hSource = FindResource(AfxGetResourceHandle(), MAKEINTRESOURCE(ResourceName), ResourceType);

if(hSource == NULL)

{

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "FindResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

hGlobal = LoadResource(AfxGetResourceHandle(), hSource);

if(hGlobal == NULL)

{

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "LoadResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

lpVoid = LockResource(hGlobal);

if(lpVoid == NULL)

{

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "LockResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hSource);

if(LoadPictureData((BYTE*)hGlobal, nSize)) bResult = TRUE;

UnlockResource(hGlobal); // 16Bit Windows Needs This

FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)

m_Weight = nSize; // Update Picture Size Info...

if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist...

{

m_IPicture-get_Height(m_Height);

m_IPicture-get_Width(m_Width);

// Calculate Its Size On a "Standard" (96 DPI) Device Context

m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH);

m_Width = MulDiv(m_Width, 96, HIMETRIC_INCH);

}

else // Picture Data Is Not a Known Picture Type

{

m_Height = 0;

m_Width = 0;

bResult = FALSE;

}

return(bResult);

}

//-----------------------------------------------------------------------------

// Does: Open a File And Load It Into IPicture (Interface)

// ~~~~ (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)

//

// InPut: sFilePathName - Path And FileName Target To Save

// ~~~~~

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::Load(CString sFilePathName)

//=============================================================================

{

BOOL bResult = FALSE;

CFile PictureFile;

CFileException e;

int nSize = 0;

if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...

if(PictureFile.Open(sFilePathName, CFile::modeRead | CFile::typeBinary, e))

{

nSize = PictureFile.GetLength();

BYTE* pBuffer = new BYTE[nSize];

if (PictureFile.Read(pBuffer, nSize) 0 ) //从文件读到pBuffer

{ if(LoadPictureData(pBuffer, nSize)) bResult = TRUE; }//接作调用函数读pBuffer

PictureFile.Close();

delete [] pBuffer;

}

else // Open Failed...

{

TCHAR szCause[255];

e.GetErrorMessage(szCause, 255, NULL);

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, szCause, ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

bResult = FALSE;

}

m_Weight = nSize; // Update Picture Size Info...

if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist...

{

m_IPicture-get_Height(m_Height);

m_IPicture-get_Width(m_Width);

// Calculate Its Size On a "Standard" (96 DPI) Device Context

m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH);

m_Width = MulDiv(m_Width, 96, HIMETRIC_INCH);

}

else // Picture Data Is Not a Known Picture Type

{

m_Height = 0;

m_Width = 0;

bResult = FALSE;

}

return(bResult);

}

//-----------------------------------------------------------------------------

// Does: Read The Picture Data From a Source (File / Resource)

// ~~~~ And Load It Into The Current IPicture Object In Use

//

// InPut: Buffer Of Data Source (File / Resource) And Its Size

// ~~~~~

//

// OutPut: Feed The IPicture Object With The Picture Data

// ~~~~~~ (Use Draw Functions To Show It On a Device Context)

// TRUE If Succeeded...

//-----------------------------------------------------------------------------

BOOL CPicture::LoadPictureData(BYTE *pBuffer, int nSize)

//=============================================================================

{

BOOL bResult = FALSE;

HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, nSize);

if(hGlobal == NULL)

{

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

void* pData = GlobalLock(hGlobal);

memcpy(pData, pBuffer, nSize);

GlobalUnlock(hGlobal);

IStream* pStream = NULL;

if(CreateStreamOnHGlobal(hGlobal, TRUE, pStream) == S_OK)

{

HRESULT hr;

if((hr = OleLoadPicture(pStream, nSize, FALSE, IID_IPicture, (LPVOID *)m_IPicture)) == E_NOINTERFACE)

{

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "IPicture interface is not supported\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

else // S_OK

{

pStream-Release();

pStream = NULL;

bResult = TRUE;

}

}

FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)

return(bResult);

}

//-----------------------------------------------------------------------------

// Does: Draw The Loaded Picture Direct To The Client DC

// ~~~~

//

// Note: Bigger OR Smaller Dimentions Than The Original Picture Size

// ~~~~ Will Draw The Picture Streached To Its New Given NEW Dimentions...

//

// InPut: pDC - Given DC To Draw On

// ~~~~~ DrawRect - Dimentions Of The Picture To Draw (As a Rectangle)

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::Show(CDC *pDC, CRect DrawRect)

//=============================================================================

{

if (pDC == NULL || m_IPicture == NULL) return FALSE;

long Width = 0;

long Height = 0;

m_IPicture-get_Width(Width);

m_IPicture-get_Height(Height);

HRESULT hrP = NULL;

hrP = m_IPicture-Render(pDC-m_hDC,

DrawRect.left, // Left

DrawRect.top, // Top

DrawRect.right - DrawRect.left, // Right

DrawRect.bottom - DrawRect.top, // Bottom

0,

Height,

Width,

-Height,

DrawRect);

if (SUCCEEDED(hrP)) return(TRUE);

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

//-----------------------------------------------------------------------------

// Does: Draw The Loaded Picture Direct To The Client DC

// ~~~~

//

// Note: Bigger OR Smaller Dimentions Than The Original Picture Size

// ~~~~ Will Draw The Picture Streached To Its New Given Dimentions...

//

// InPut: pDC - Given DC To Draw On

// ~~~~~ LeftTop - Opening Point To Start Drawing (Left,Top)

// WidthHeight - Dimentions Of The Picture To Draw (Width,Height)

// MagnifyX - Magnify Pixel Width, 0 = Default (No Magnify)

// MagnifyY - Magnify Pixel Height, 0 = Default (No Magnify)

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::Show(CDC *pDC, CPoint LeftTop, CPoint WidthHeight, int MagnifyX, int MagnifyY)

//=============================================================================

{

if (pDC == NULL || m_IPicture == NULL) return FALSE;

long Width = 0;

long Height = 0;

m_IPicture-get_Width(Width);

m_IPicture-get_Height(Height);

if(MagnifyX == NULL) MagnifyX = 0;

if(MagnifyY == NULL) MagnifyY = 0;

MagnifyX = int(MulDiv(Width, pDC-GetDeviceCaps(LOGPIXELSX), HIMETRIC_INCH) * MagnifyX);

MagnifyY = int(MulDiv(Height,pDC-GetDeviceCaps(LOGPIXELSY), HIMETRIC_INCH) * MagnifyY);

CRect DrawRect(LeftTop.x, LeftTop.y, MagnifyX, MagnifyY);

HRESULT hrP = NULL;

hrP = m_IPicture-Render(pDC-m_hDC,

LeftTop.x, // Left

LeftTop.y, // Top

WidthHeight.x +MagnifyX, // Width

WidthHeight.y +MagnifyY, // Height

0,

Height,

Width,

-Height,

DrawRect);

if(SUCCEEDED(hrP)) return(TRUE);

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

return(FALSE);

}

//-----------------------------------------------------------------------------

// Does: Saves The Picture That Is Stored In The IPicture Object As a Bitmap

// ~~~~ (Converts From Any Known Picture Type To a Bitmap / Icon File)

//

// InPut: sFilePathName - Path And FileName Target To Save

// ~~~~~

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::SaveAsBitmap(CString sFilePathName)

//=============================================================================

{

BOOL bResult = FALSE;

ILockBytes *Buffer = 0;

IStorage *pStorage = 0;

IStream *FileStream = 0;

BYTE *BufferBytes;

STATSTG BytesStatistics;

DWORD OutData;

long OutStream;

CFile BitmapFile; CFileException e;

double SkipFloat = 0;

DWORD ByteSkip = 0;

_ULARGE_INTEGER RealData;

CreateILockBytesOnHGlobal(NULL, TRUE, Buffer); // Create ILockBytes Buffer

HRESULT hr = ::StgCreateDocfileOnILockBytes(Buffer,

STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_READWRITE, 0, pStorage);

hr = pStorage-CreateStream(L"PICTURE",

STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_READWRITE, 0, 0, FileStream);

m_IPicture-SaveAsFile(FileStream, TRUE, OutStream); // Copy Data Stream

FileStream-Release();

pStorage-Release();

Buffer-Flush();

// Get Statistics For Final Size Of Byte Array

Buffer-Stat(BytesStatistics, STATFLAG_NONAME);

// Cut UnNeeded Data Coming From SaveAsFile() (Leave Only "Pure" Picture Data)

SkipFloat = (double(OutStream) / 512); // Must Be In a 512 Blocks...

if(SkipFloat DWORD(SkipFloat)) ByteSkip = (DWORD)SkipFloat + 1;

else ByteSkip = (DWORD)SkipFloat;

ByteSkip = ByteSkip * 512; // Must Be In a 512 Blocks...

// Find Difference Between The Two Values

ByteSkip = (DWORD)(BytesStatistics.cbSize.QuadPart - ByteSkip);

// Allocate Only The "Pure" Picture Data

RealData.LowPart = 0;

RealData.HighPart = 0;

RealData.QuadPart = ByteSkip;

BufferBytes = (BYTE*)malloc(OutStream);

if(BufferBytes == NULL)

{

Buffer-Release();

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

}

Buffer-ReadAt(RealData, BufferBytes, OutStream, OutData);

if(BitmapFile.Open(sFilePathName, CFile::typeBinary | CFile::modeCreate | CFile::modeWrite, e))

{

BitmapFile.Write(BufferBytes, OutData);

BitmapFile.Close();

bResult = TRUE;

}

else // Write File Failed...

{

TCHAR szCause[255];

e.GetErrorMessage(szCause, 255, NULL);

HWND hWnd = AfxGetApp()-GetMainWnd()-m_hWnd;

MessageBoxEx(hWnd, szCause, ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);

bResult = FALSE;

}

Buffer-Release();

free(BufferBytes);

return(bResult);

}

//-----------------------------------------------------------------------------

// Does: Draw a Bitmap Resource To The Client DC (Using Bitblt())

// ~~~~ It Will Use The Bitmap Resource Original Size (Width And Height)

// (.BMP .DIB)

//

// Note: This Function Is Just Another Simple Way Of Displaying a Bitmap Resource,

// ~~~~ It Is Not Connected With The IPicture Interface And Can Be Used

// As a StandAlone On Any Device Context (Directly)

//

// InPut: BMPResource - Resource Name As Defined In The Resources

// ~~~~~ pDC - Given DC To Draw On

// LeftTop - Opening Point To Start Drawing (Left,Top)

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::ShowBitmapResource(CDC *pDC, const int BMPResource, CPoint LeftTop)

//=============================================================================

{

if (pDC == NULL) return(FALSE);

CBitmap BMP;

if(BMP.LoadBitmap(BMPResource))

{

// Get Bitmap Details

BITMAP BMPInfo;

BMP.GetBitmap(BMPInfo);

// Create An In-Memory DC Compatible With The Display DC We R Gonna Paint On

CDC DCMemory;

DCMemory.CreateCompatibleDC(pDC);

// Select The Bitmap Into The In-Memory DC

CBitmap* pOldBitmap = DCMemory.SelectObject(BMP);

// Copy Bits From The In-Memory DC Into The On-Screen DC

pDC-BitBlt(LeftTop.x, LeftTop.y, BMPInfo.bmWidth, BMPInfo.bmHeight, DCMemory, 0, 0, SRCCOPY);

DCMemory.SelectObject(pOldBitmap); // (As Shown In MSDN Example...)

}

else

{

TRACE0("ERROR: Can Not Find The Bitmap Resource\n");

return(FALSE);

}

return(TRUE);

}

//-----------------------------------------------------------------------------

// Does: Get The Original Picture Pixel Size (Ignor What Current DC Is Using)

// ~~~~ Pointer To a Device Context Is Needed For Pixel Calculation,

//

// Also Updates The Class's Height And Width Properties,

// (Coz Till Now We Had No Device Context To Work With...96 DPI Assumed)

//

// InPut: The Client DC (Needed To Check The Size Of The Pixels)

// ~~~~~

//

// OutPut: TRUE If Succeeded...

// ~~~~~~

//-----------------------------------------------------------------------------

BOOL CPicture::UpdateSizeOnDC(CDC *pDC)

//=============================================================================

{

if(pDC == NULL || m_IPicture == NULL) { m_Height = 0; m_Width = 0; return(FALSE); };

m_IPicture-get_Height(m_Height);

m_IPicture-get_Width(m_Width);

// Get Current DPI - Dot Per Inch

int CurrentDPI_X = pDC-GetDeviceCaps(LOGPIXELSX);

int CurrentDPI_Y = pDC-GetDeviceCaps(LOGPIXELSY);

// Use a "Standard" Print (When Printing)

if(pDC-IsPrinting())

{

CurrentDPI_X = 96;

CurrentDPI_Y = 96;

}

m_Height = MulDiv(m_Height, CurrentDPI_Y, HIMETRIC_INCH);

m_Width = MulDiv(m_Width, CurrentDPI_X, HIMETRIC_INCH);

return(TRUE);

}

3.在对话框头文件定义:

先包含头文件#include "Picture.h"

再定义

CPicture m_Pic;

4.给按钮的函数里写上:(注意,这个IDC_SHOWPIC)是你那个显示控件的ID号.

CRect rect;

GetDlgItem(IDC_SHOWPIC)-GetWindowRect(rect);

ScreenToClient(rect);

CFile f;

CString FilePathName;

CFileException e;

CFileDialog dlg(TRUE,NULL,NULL,0,_T("All Files (*.*)|*.*|BMP (*.bmp)|*.bmp|DIB (*.dib)|*.dib|EMF (*.emf)|*.emf|GIF (*.gif)|*.gif|ICO (*.ico)|*.ico|JPG (*.jpg)|*.jpg|WMF (*.wmf)|*.wmf||"),NULL);

if(dlg.DoModal()==IDOK)

{

FilePathName=dlg.GetPathName();

if(m_Pic.m_IPicture != NULL) m_Pic.FreePictureData();

m_Pic.Load(FilePathName);

CClientDC dc(this);

m_Pic.UpdateSizeOnDC(dc);

m_Pic.Show(dc, rect);

}

MFC怎样清除picture control的图片?

CFileDialog?opendlg?(TRUE,_T(""),_T(""),OFN_OVERWRITEPROMPT,?_T("位图文件(*.bmp;)|*.bmp||"),NULL);???

if?(opendlg.DoModal()==IDOK)

{

filename=opendlg.GetPathName();??

HBITMAP?hHandle=(HBITMAP)::LoadImage(NULL,filename,IMAGE_BITMAP,480,360,LR_LOADFROMFILE);

HBITMAP?oldb?=?m_Picture.SetBitmap(hHandle);

DeleteObject(oldb);

}

易语言怎么知道什么功能该用什么API

1. API之网络函数

WNetAddConnection 创建同一个网络资源的永久性连接

WNetAddConnection2 创建同一个网络资源的连接

WNetAddConnection3 创建同一个网络资源的连接

WNetCancelConnection 结束一个网络连接

WNetCancelConnection2 结束一个网络连接

WNetCloseEnum 结束一次枚举操作

WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接

WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接

WNetEnumResource 枚举网络资源

WNetGetConnection 获取本地或已连接的一个资源的网络名称

WNetGetLastError 获取网络错误的扩展错误信息

WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称

WNetGetUser 获取一个网络资源用以连接的名字

WNetOpenEnum 启动对网络资源进行枚举的过程

2. API之消息函数

BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口

GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置

GetMessageTime 取得消息队列中上一条消息处理完毕时的时间

PostMessage 将一条消息投递到指定窗口的消息队列

PostThreadMessage 将一条消息投递给应用程序

RegisterWindowMessage 获取分配给一个字串标识符的消息编号

ReplyMessage 答复一个消息

SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口

SendMessageCallback 将一条消息发给窗口

SendMessageTimeout 向窗口发送一条消息

SendNotifyMessage 向窗口发送一条消息

3. API之文件处理函数

CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等

CompareFileTime 对比两个文件的时间

CopyFile 复制文件

CreateDirectory 创建一个新目录

CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台

CreateFileMapping 创建一个新的文件映射对象

DeleteFile 删除指定文件

DeviceIoControl 对设备执行指定的操作

DosDateTimeToFileTime 将DOS日期和时间值转换成一个 win32 FILETIME 值

FileTimeToDosDateTime 将一个 win32 FILETIME 值转换成DOS日期和时间值

FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间

FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构

FindClose 关闭由FindFirstFile函数创建的一个搜索句柄

FindFirstFile 根据文件名查找文件

FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件

FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区

FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘

GetBinaryType 判断文件是否可以执行

GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数

GetCurrentDirectory 在一个缓冲区中装载当前目录

GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量

GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息

GetDriveType 判断一个磁盘驱动器的类型

GetExpandedName 取得一个压缩文件的全名

GetFileAttributes 判断指定文件的属性

GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制

GetFileSize 判断文件长度

GetFileTime 取得指定文件的时间信息

GetFileType 在给出文件句柄的前提下,判断文件类型

GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息

GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区

GetFullPathName 获取指定文件的完整路径名

GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母

GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径

GetOverlappedResult 判断一个重叠操作当前的状态

GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值

GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表

GetPrivateProfileString 为初始化文件中指定的条目取得字串

GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值

GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表

GetProfileString 为win.ini初始化文件中指定的条目取得字串

GetShortPathName 获取指定文件的短路径名

GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名

GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用

GetTempPath 获取为临时文件指定的路径

GetVolumeInformation 获取与一个磁盘卷有关的信息

GetWindowsDirectory 获取Windows目录的完整路径名

hread 参考lread

hwrite 参考lwrite函数

lclose 关闭指定的文件

lcreat 创建一个文件

llseek 设置文件中进行读写的当前位置

LockFile 锁定文件的某一部分,使其不与其他应用程序共享

LockFileEx 与LockFile相似,只是它提供了更多的功能

lopen 以二进制模式打开指定的文件

lread 将文件中的数据读入内存缓冲区

lwrite 将数据从内存缓冲区写入一个文件

LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件

LZCopy 复制一个文件

LZInit 这个函数用于初始化内部缓冲区

LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件

LZRead 将数据从文件读入内存缓冲区

LZSeek 设置一个文件中进行读写的当前位置

MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间

MoveFile 移动文件

OpenFile 这个函数能执行大量不同的文件操作

OpenFileMapping 打开一个现成的文件映射对象

QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况

ReadFile 从文件中读出数据

ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调

RegCloseKey 关闭系统注册表中的一个项(或键)

RegConnectRegistry 访问远程系统的部分注册表

RegCreateKey 在指定的项下创建或打开一个项

RegCreateKeyEx 在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数

RegDeleteKey 删除现有项下方一个指定的子项

RegDeleteValue 删除指定项下方的一个值

RegEnumKey 枚举指定项的子项。在Win32环境中应使用RegEnumKeyEx

RegEnumKeyEx 枚举指定项下方的子项

RegEnumValue 枚举指定项的值

RegFlushKey 将对项和它的子项作出的改动实际写入磁盘

RegGetKeySecurity 获取与一个注册表项有关的安全信息

RegLoadKey 从以前用RegSaveKey函数创建的一个文件里装载注册表信息

RegNotifyChangeKeyValue 注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制

RegOpenKey 打开一个现有的注册表项

RegOpenKeyEx 打开一个现有的项。在win32下推荐使用这个函数

RegQueryInfoKey 获取与一个项有关的信息

RegQueryValue 取得指定项或子项的默认(未命名)值

RegQueryValueEx 获取一个项的设置值

RegReplaceKey 用一个磁盘文件保存的信息替换注册表信息;并创建一个备份,在其中包含当前注册表信息

RegRestoreKey 从一个磁盘文件恢复注册表信息

RegSaveKey 将一个项以及它的所有子项都保存到一个磁盘文件

RegSetKeySecurity 设置指定项的安全特性

RegSetValue 设置指定项或子项的默认值

RegSetValueEx 设置指定项的值

RegUnLoadKey 卸载指定的项以及它的所有子项

RemoveDirectory 删除指定目录

SearchPath 查找指定文件

SetCurrentDirectory 设置当前目录

SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾

SetFileAttributes 设置文件属性

SetFilePointer 在一个文件中设置当前的读写位置

SetFileTime 设置文件的创建、访问及上次修改时间

SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果

SetVolumeLabel 设置一个磁盘的卷标(Label)

SystemTimeToFileTime 根据一个FILETIME结构的内容,载入一个SYSTEMTIME结构

UnlockFile 解除对一个文件的锁定

UnlockFileEx 解除对一个文件的锁定

UnmapViewOfFile 在当前应用程序的内存地址空间解除对一个文件映射对象的映射

VerFindFile 用这个函数决定一个文件应安装到哪里

VerInstallFile 用这个函数安装一个文件

VerLanguageName 这个函数能根据16位语言代码获取一种语言的名称

VerQueryValue 这个函数用于从版本资源中获取信息

WriteFile 将数据写入一个文件

WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调

WritePrivateProfileSection 为一个初始化文件(.ini)中指定的小节设置所有项名和值

WritePrivateProfileString 在初始化文件指定小节内设置一个字串

WriteProfileSection 为Win.ini初始化文件中一个指定的小节设置所有项名和值

WriteProfileString 在Win.ini初始化文件指定小节内设置一个字串

4. API之打印函数

AbortDoc 取消一份文档的打印

AbortPrinter 删除与一台打印机关联在一起的缓冲文件

AddForm 为打印机的表单列表添加一个新表单

AddJob 用于获取一个有效的路径名,以便用它为作业创建一个后台打印文件。它也会为作业分配一个作业编号

AddMonitor 为系统添加一个打印机监视器

AddPort 启动“添加端口”对话框,允许用户在系统可用端口列表中加入一个新端口

AddPrinter 在系统中添加一台新打印机

AddPrinterConnection 连接指定的打印机

AddPrinterDriver 为指定的系统添加一个打印驱动程序

AddPrintProcessor 为指定的系统添加一个打印处理器

AddPrintProvidor 为系统添加一个打印供应商

AdvancedDocumentProperties 启动打印机文档设置对话框

ClosePrinter 关闭一个打开的打印机对象

ConfigurePort 针对指定的端口,启动一个端口配置对话框

ConnectToPrinterDlg 启动连接打印机对话框,用它同访问网络的打印机连接

DeleteForm 从打印机可用表单列表中删除一个表单

DeleteMonitor 删除指定的打印监视器

DeletePort 启动“删除端口”对话框,允许用户从当前系统删除一个端口

DeletePrinter 将指定的打印机标志为从系统中删除

DeletePrinterConnection 删除与指定打印机的连接

DeletePrinterDriver 从系统删除一个打印机驱动程序

DeletePrintProcessor 从指定系统删除一个打印处理器

DeletePrintProvidor 从系统中删除一个打印供应商

DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息

DocumentProperties 打印机配置控制函数

EndDocAPI 结束一个成功的打印作业

EndDocPrinter 在后台打印程序的级别指定一个文档的结束

EndPage 用这个函数完成一个页面的打印,并准备设备场景,以便打印下一个页

EndPagePrinter 指定一个页在打印作业中的结尾

EnumForms 枚举一台打印机可用的表单

EnumJobs 枚举打印队列中的作业

EnumMonitors 枚举可用的打印监视器

EnumPorts 枚举一个系统可用的端口

EnumPrinterDrivers 枚举指定系统中已安装的打印机驱动程序

EnumPrinters 枚举系统中安装的打印机

EnumPrintProcessorDatatypes 枚举由一个打印处理器支持的数据类型

EnumPrintProcessors 枚举系统中可用的打印处理器

Escape 设备控制函数

FindClosePrinterChangeNotification 关闭用FindFirstPrinterChangeNotification函数获取的一个打印机通告对象

FindFirstPrinterChangeNotification 创建一个新的改变通告对象,以便我们注意打印机状态的各种变化

FindNextPrinterChangeNotification 用这个函数判断触发一次打印机改变通告信号的原因

FreePrinterNotifyInfo 释放由FindNextPrinterChangeNotification函数分配的一个缓冲区

GetForm 取得与指定表单有关的信息

GetJob 获取与指定作业有关的信息

GetPrinter 取得与指定打印机有关的信息

GetPrinterData 为打印机设置注册表配置信息

GetPrinterDriver 针对指定的打印机,获取与打印机驱动程序有关的信息

GetPrinterDriverDirectory 判断指定系统中包含了打印机驱动程序的目录是什么

GetPrintProcessorDirectory 判断指定系统中包含了打印机处理器驱动程序及文件的目录

OpenPrinter 打开指定的打印机,并获取打印机的句柄

PrinterMessageBox 在拥有指定打印作业的系统上显示一个打印机出错消息框

PrinterProperties 启动打印机属性对话框,以便对打印机进行配置

ReadPrinter 从打印机读入数据

ResetDC 重设一个设备场景

ResetPrinter 改变指定打印机的默认数据类型及文档设置

ScheduleJob 提交一个要打印的作业

SetAbortProc 为Windows指定取消函数的地址

SetForm 为指定的表单设置信息

SetJob 对一个打印作业的状态进行控制

SetPrinter 对一台打印机的状态进行控制

SetPrinterData 设置打印机的注册表配置信息

StartDoc 开始一个打印作业

StartDocPrinter 在后台打印的级别启动一个新文档

StartPage 打印一个新页前要先调用这个函数

StartPagePrinter 在打印作业中指定一个新页的开始

WritePrinter 将发送目录中的数据写入打印机

5. API之文本和字体函数

AddFontResource 在Windows系统中添加一种字体资源

CreateFont 用指定的属性创建一种逻辑字体

CreateFontIndirect 用指定的属性创建一种逻辑字体

CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统

DrawText 将文本描绘到指定的矩形中

DrawTextEx 与DrawText相似,只是加入了更多的功能

EnumFontFamilies 列举指定设备可用的字体

EnumFontFamiliesEx 列举指定设备可用的字体

EnumFonts 列举指定设备可用的字体

ExtTextOut 经过扩展的文本描绘函数。也请参考SetTextAlign函数

GetAspectRatioFilterEx 用SetMapperFlags要求Windows只选择与设备当前纵横比相符的光栅字体时,本函数可判断纵横比大小

GetCharABCWidths 判断TureType字体中一个或多个字符的A-B-C大小

GetCharABCWidthsFloat 查询一种字体中一个或多个字符的A-B-C尺寸

GetCharacterPlacement 该函数用于了解如何用一个给定的字符显示一个字串

GetCharWidth 调查字体中一个或多个字符的宽度

GetFontData 接收一种可缩放字体文件的数据

GetFontLanguageInfo 返回目前选入指定设备场景中的字体的信息

GetGlyphOutline 取得TureType字体中构成一个字符的曲线信息

GetKerningPairs 取得指定字体的字距信息

GetOutlineTextMetrics 接收与TureType字体内部特征有关的详细信息

GetRasterizerCaps 了解系统是否有能力支持可缩放的字体

GetTabbedTextExtent 判断一个字串占据的范围,同时考虑制表站扩充的因素

GetTextAlign 接收一个设备场景当前的文本对齐标志

GetTextCharacterExtra 判断额外字符间距的当前值

GetTextCharset 接收当前选入指定设备场景的字体的字符集标识符

GetTextCharsetInfo 获取与当前选定字体的字符集有关的详细信息

GetTextColor 判断当前字体颜色。通常也称为“前景色”

GetTextExtentExPoint 判断要填入指定区域的字符数量。也用一个数组装载每个字符的范围信息

GetTextExtentPoint 判断一个字串的大小(范围)

GetTextFace 获取一种字体的字样名

GetTextMetrics 获取与选入一种设备场景的物理字体有关的信息

GrayString 描绘一个以灰色显示的字串。通常由Windows用于标识禁止状态

PolyTextOut 描绘一系列字串

RemoveFontResource 从Windows系统中删除一种字体资源

SetMapperFlags Windows对字体进行映射时,可用该函数选择与目标设备的纵横比相符的光栅字体

SetTextAlign 设置文本对齐方式,并指定在文本输出过程中使用设备场景的当前位置

SetTextCharacterExtra 描绘文本的时候,指定要在字符间插入的额外间距

SetTextColor 设置当前文本颜色。这种颜色也称为“前景色”

SetTextJustification 通过指定一个文本行应占据的额外空间,可用这个函数对文本进行两端对齐处理

TabbedTextOut 支持制表站的一个文本描绘函数

TextOut 文本绘图函数

6. API之菜单函数

AppendMenu 在指定的菜单里添加一个菜单项

CheckMenuItem 复选或撤消复选指定的菜单条目

CheckMenuRadioItem 指定一个菜单条目被复选成“单选”项目

CreateMenu 创建新菜单

CreatePopupMenu 创建一个空的弹出式菜单

DeleteMenu 删除指定的菜单条目

DestroyMenu 删除指定的菜单

DrawMenuBar 为指定的窗口重画菜单

EnableMenuItem 允许或禁止指定的菜单条目

GetMenu 取得窗口中一个菜单的句柄

GetMenuCheckMarkDimensions 返回一个菜单复选符的大小

GetMenuContextHelpId 取得一个菜单的帮助场景ID

GetMenuDefaultItem 判断菜单中的哪个条目是默认条目

GetMenuItemCount 返回菜单中条目(菜单项)的数量

GetMenuItemID 返回位于菜单中指定位置处的条目的菜单ID

GetMenuItemInfo 取得(接收)与一个菜单条目有关的特定信息

GetMenuItemRect 在一个矩形中装载指定菜单条目的屏幕坐标信息

GetMenuState 取得与指定菜单条目状态有关的信息

GetMenuString 取得指定菜单条目的字串

GetSubMenu 取得一个弹出式菜单的句柄,它位于菜单中指定的位置

GetSystemMenu 取得指定窗口的系统菜单的句柄

HiliteMenuItem 控制顶级菜单条目的加亮显示状态

InsertMenu 在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动

InsertMenuItem 插入一个新菜单条目

IsMenu 判断指定的句柄是否为一个菜单的句柄

LoadMenu 从指定的模块或应用程序实例中载入一个菜单

LoadMenuIndirect 载入一个菜单

MenuItemFromPoint 判断哪个菜单条目包含了屏幕上一个指定的点

ModifyMenu 改变菜单条目

RemoveMenu 删除指定的菜单条目

SetMenu 设置窗口菜单

SetMenuContextHelpId 设置一个菜单的帮助场景ID

SetMenuDefaultItem 将一个菜单条目设为默认条目

SetMenuItemBitmaps 设置一幅特定位图,令其在指定的菜单条目中使用,代替标准的复选符号(√)

SetMenuItemInfo 为一个菜单条目设置指定的信息

TrackPopupMenu 在屏幕的任意地方显示一个弹出式菜单

TrackPopupMenuEx 与TrackPopupMenu相似,只是它提供了额外的功能

(责任编辑:IT教学网)

更多

推荐Fireworks教程文章