zoukankan      html  css  js  c++  java
  • Delphi 常用API 函数

    AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小
    AnyPopup 判断屏幕上是否存在任何弹出式窗口
    ArrangeIconicWindows 排列一个父窗口的最小化子窗口
    AttachThreadInput 连接线程输入函数
    BeginDeferWindowPos 启动构建一系列新窗口位置的过程
    BringWindowToTop 将指定的窗口带至窗口列表顶部
    CascadeWindows 以层叠方式排列窗口
    ChildWindowFromPoint 返回父窗口中包含了指定点的第一个子窗口的句柄
    
    ClientToScreen 判断窗口内以客户区坐标表示的一个点的屏幕坐标
    CloseWindow 最小化指定的窗口
    CopyRect 矩形内容复制
    DeferWindowPos 该函数为特定的窗口指定一个新窗口位置
    DestroyWindow 清除指定的窗口以及它的所有子窗口
    DrawAnimatedRects 描绘一系列动态矩形
    EnableWindow 指定的窗口里允许或禁止所有鼠标及键盘输入
    EndDeferWindowPos 同时更新DeferWindowPos调用时指定的所有窗口的位置及状态
    EnumChildWindows 为指定的父窗口枚举子窗口
    
    EnumThreadWindows 枚举与指定任务相关的窗口
    EnumWindows 枚举窗口列表中的所有父窗口
    EqualRect 判断两个矩形结构是否相同
    FindWindow 寻找窗口列表中第一个符合指定条件的顶级窗口
    FindWindowEx 在窗口列表中寻找与指定条件相符的第一个子窗口
    FlashWindow 闪烁显示指定窗口
    GetActiveWindow 获得活动窗口的句柄
    GetCapture 获得一个窗口的句柄,这个窗口位于当前输入线程,且拥有鼠标捕获(鼠标活动由它接收)
    GetClassInfo 取得WNDCLASS结构(或WNDCLASSEX结构)的一个副本,结构中包含了与指定类有关的信息
    
    GetClassLong 取得窗口类的一个Long变量条目
    GetClassName 为指定的窗口取得类名
    GetClassWord 为窗口类取得一个整数变量
    GetClientRect 返回指定窗口客户区矩形的大小
    GetDesktopWindow 获得代表整个屏幕的一个窗口(桌面窗口)句柄
    GetFocus 获得拥有输入焦点的窗口的句柄
    GetForegroundWindow 获得前台窗口的句柄
    GetLastActivePopup 获得在一个给定父窗口中最近激活过的弹出式窗口的句柄
    GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息
    
    GetParent 判断指定窗口的父窗口
    GetTopWindow 搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄
    GetUpdateRect 获得一个矩形,它描叙了指定窗口中需要更新的那一部分
    GetWindow 获得一个窗口的句柄,该窗口与某源窗口有特定的关系
    GetWindowContextHelpId 取得与窗口关联在一起的帮助场景ID
    GetWindowLong 从指定窗口的结构中取得信息
    GetWindowPlacement 获得指定窗口的状态及位置信息
    GetWindowRect 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内
    
    GetWindowText 取得一个窗体的标题(caption)文字,或者一个控件的内容
    GetWindowTextLength 调查窗口标题文字或控件内容的长短
    GetWindowWord 获得指定窗口结构的信息
    InflateRect 增大或减小一个矩形的大小
    IntersectRect 这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集
    InvalidateRect 屏蔽一个窗口客户区的全部或部分区域
    IsChild 判断一个窗口是否为另一窗口的子或隶属窗口
    
    IsIconic 判断窗口是否已最小化
    IsRectEmpty 判断一个矩形是否为空
    IsWindow 判断一个窗口句柄是否有效
    IsWindowEnabled 判断窗口是否处于活动状态
    IsWindowUnicode 判断一个窗口是否为Unicode窗口。这意味着窗口为所有基于文本的消息都接收Unicode文字
    IsWindowVisible 判断窗口是否可见
    IsZoomed 判断窗口是否最大化
    LockWindowUpdate 锁定指定窗口,禁止它更新
    MapWindowPoints 将一个窗口客户区坐标的点转换到另一窗口的客户区坐标系统
    
    MoveWindow 改变指定窗口的位置和大小
    OffsetRect 通过应用一个指定的偏移,从而让矩形移动起来
    OpenIcon 恢复一个最小化的程序,并将其激活
    PtInRect 判断指定的点是否位于矩形内部
    RedrawWindow 重画全部或部分窗口
    ReleaseCapture 为当前的应用程序释放鼠标捕获
    ScreenToClient 判断屏幕上一个指定点的客户区坐标
    ScrollWindow 滚动窗口客户区的全部或一部分
    ScrollWindowEx 根据附加的选项,滚动窗口客户区的全部或部分
    
    SetActiveWindow 激活指定的窗口
    SetCapture 将鼠标捕获设置到指定的窗口
    SetClassLong 为窗口类设置一个Long变量条目
    SetClassWord 为窗口类设置一个条目
    SetFocusAPI 将输入焦点设到指定的窗口。如有必要,会激活窗口
    SetForegroundWindow 将窗口设为系统的前台窗口
    SetParent 指定一个窗口的新父
    SetRect 设置指定矩形的内容
    SetRectEmpty 将矩形设为一个空矩形
    SetWindowContextHelpId 为指定的窗口设置帮助场景(上下文)ID
    
    SetWindowLong 在窗口结构中为指定的窗口设置信息
    SetWindowPlacement 设置窗口状态和位置信息
    SetWindowPos 为窗口指定一个新位置和状态
    SetWindowText 设置窗口的标题文字或控件的内容
    SetWindowWord 在窗口结构中为指定的窗口设置信息
    ShowOwnedPopups 显示或隐藏由指定窗口所有的全部弹出式窗口
    ShowWindow 控制窗口的可见性
    ShowWindowAsync 与ShowWindow相似
    SubtractRect 装载矩形lprcDst,它是在矩形lprcSrc1中减去lprcSrc2得到的结果
    
    TileWindows 以平铺顺序排列窗口
    UnionRect 装载一个lpDestRect目标矩形,它是lpSrc1Rect和lpSrc2Rect联合起来的结果
    UpdateWindow 强制立即更新窗口
    ValidateRect 校验窗口的全部或部分客户区
    WindowFromPoint 返回包含了指定点的窗口的句柄。忽略屏蔽、隐藏以及透明窗口
    
    tsqgw (2002-03-14 14:48:00)
    ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义
    Beep 用于生成简单的声音
    CharToOem 将一个字串从ANSI字符集转换到OEM字符集
    ClipCursor 将指针限制到指定区域
    ConvertDefaultLocale 将一个特殊的地方标识符转换成真实的地方ID
    CreateCaret 根据指定的信息创建一个插入符(光标),并将它选定为指定窗口的默认插入符
    DestroyCaret 清除(破坏)一个插入符
    EnumCalendarInfo 枚举在指定“地方”环境中可用的日历信息
    
    EnumDateFormats 列举指定的“当地”设置中可用的长、短日期格式
    EnumSystemCodePages 枚举系统中已安装或支持的代码页
    EnumSystemLocales 枚举系统已经安装或提供支持的“地方”设置
    EnumTimeFormats 枚举一个指定的地方适用的时间格式
    ExitWindowsEx 退出windows,并用特定的选项重新启动
    ExpandEnvironmentStrings 扩充环境字串
    FreeEnvironmentStrings 翻译指定的环境字串块
    GetACP 判断目前正在生效的ANSI代码页
    
    GetAsyncKeyState 判断函数调用时指定虚拟键的状态
    GetCaretBlinkTime 判断插入符光标的闪烁频率
    GetCaretPos 判断插入符的当前位置
    GetClipCursor 取得一个矩形,用于描述目前为鼠标指针规定的剪切区域
    GetCommandLine 获得指向当前命令行缓冲区的一个指针
    GetComputerName 取得这台计算机的名称
    GetCPInfo 取得与指定代码页有关的信息
    GetCurrencyFormat 针对指定的“地方”设置,根据货币格式格式化一个数字
    GetCursor 获取目前选择的鼠标指针的句柄
    
    GetCursorPos 获取鼠标指针的当前位置
    GetDateFormat 针对指定的“当地”格式,对一个系统日期进行格式化
    GetDoubleClickTime 判断连续两次鼠标单击之间会被处理成双击事件的间隔时间
    GetEnvironmentStrings 为包含了当前环境字串设置的一个内存块分配和返回一个句柄
    GetEnvironmentVariable 取得一个环境变量的值
    GetInputState 判断是否存在任何待决(等待处理)的鼠标或键盘事件
    GetKBCodePage 由GetOEMCP取代,两者功能完全相同
    GetKeyboardLayout 取得一个句柄,描述指定应用程序的键盘布局
    
    GetKeyboardLayoutList 获得系统适用的所有键盘布局的一个列表
    GetKeyboardLayoutName 取得当前活动键盘布局的名称
    GetKeyboardState 取得键盘上每个虚拟键当前的状态
    GetKeyboardType 了解与正在使用的键盘有关的信息
    GetKeyNameText 在给出扫描码的前提下,判断键名
    GetKeyState 针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态
    GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息
    GetLocaleInfo 取得与指定“地方”有关的信息
    
    GetLocalTime 取得本地日期和时间
    GetNumberFormat 针对指定的“地方”,按特定的格式格式化一个数字
    GetOEMCP 判断在OEM和ANSI字符集间转换的windows代码页
    GetQueueStatus 判断应用程序消息队列中待决(等待处理)的消息类型
    GetSysColor 判断指定windows显示对象的颜色
    GetSystemDefaultLangID 取得系统的默认语言ID
    GetSystemDefaultLCID 取得当前的默认系统“地方”
    GetSystemInfo 取得与底层硬件平台有关的信息
    
    GetSystemMetrics 返回与windows环境有关的信息
    GetSystemPowerStatus 获得与当前系统电源状态有关的信息
    GetSystemTime 取得当前系统时间,这个时间采用的是“协同世界时间”(即UTC,也叫做GMT)格式
    GetSystemTimeAdjustment 使内部系统时钟与一个外部的时钟信号源同步
    GetThreadLocale 取得当前线程的地方ID
    GetTickCount 用于获取自windows启动以来经历的时间长度(毫秒)
    GetTimeFormat 针对当前指定的“地方”,按特定的格式格式化一个系统时间
    
    GetTimeZoneInformation 取得与系统时区设置有关的信息
    GetUserDefaultLangID 为当前用户取得默认语言ID
    GetUserDefaultLCID 取得当前用户的默认“地方”设置
    GetUserName 取得当前用户的名字
    GetVersion 判断当前运行的Windows和DOS版本
    GetVersionEx 取得与平台和操作系统有关的版本信息
    HideCaret 在指定的窗口隐藏插入符(光标)
    IsValidCodePage 判断一个代码页是否有效
    IsValidLocale 判断地方标识符是否有效
    
    keybd_event 这个函数模拟了键盘行动
    LoadKeyboardLayout 载入一个键盘布局
    MapVirtualKey 根据指定的映射类型,执行不同的扫描码和字符转换
    MapVirtualKeyEx 根据指定的映射类型,执行不同的扫描码和字符转换
    MessageBeep 播放一个系统声音。系统声音的分配方案是在控制面板里决定的
    mouse_event 模拟一次鼠标事件
    OemKeyScan 判断OEM字符集中的一个ASCII字符的扫描码和Shift键状态
    OemToChar 将OEM字符集的一个字串转换到ANSI字符集
    
    SetCaretBlinkTime 指定插入符(光标)的闪烁频率
    SetCaretPos 指定插入符的位置
    SetComputerName 设置新的计算机名
    SetCursor 将指定的鼠标指针设为当前指针
    SetCursorPos 设置指针的位置
    SetDoubleClickTime 设置连续两次鼠标单击之间能使系统认为是双击事件的间隔时间
    SetEnvironmentVariable 将一个环境变量设为指定的值
    SetKeyboardState 设置每个虚拟键当前在键盘上的状态
    SetLocaleInfo 改变用户“地方”设置信息
    
    SetLocalTime 设置当前地方时间
    SetSysColors 设置指定窗口显示对象的颜色
    SetSystemCursor 改变任何一个标准系统指针
    SetSystemTime 设置当前系统时间
    SetSystemTimeAdjustment 定时添加一个校准值使内部系统时钟与一个外部的时钟信号源同步
    SetThreadLocale 为当前线程设置地方
    SetTimeZoneInformation 设置系统时区信息
    ShowCaret 在指定的窗口里显示插入符(光标)
    ShowCursor 控制鼠标指针的可视性
    SwapMouseButton 决定是否互换鼠标左右键的功能
    
    SystemParametersInfo 获取和设置数量众多的windows系统参数
    SystemTimeToTzSpecificLocalTime 将系统时间转换成地方时间
    ToAscii 根据当前的扫描码和键盘信息,将一个虚拟键转换成ASCII字符
    ToUnicode 根据当前的扫描码和键盘信息,将一个虚拟键转换成Unicode字符
    UnloadKeyboardLayout 卸载指定的键盘布局
    VkKeyScan 针对Windows字符集中一个ASCII字符,判断虚拟键码和Shift键的状态
    完
    
    tsqgw (2002-03-14 14:50:00)
    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相似,只是它提供了额外的功能
    
    完
    
    以下是几个关于菜单函数的类型定义
    MENUITEMINFO 这个结构包含了菜单条目的信息
    TPMPARAMS 这个结构用于TrackPopupMenuEx函数以支持额外的功能
    
    tsqgw (2002-03-14 14:50:00)
    AbortPath 抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任何路径的创建工作
    AngleArc 用一个连接弧画一条线
    Arc 画一个圆弧
    BeginPath 启动一个路径分支
    CancelDC 取消另一个线程里的长时间绘图操作
    Chord 画一个弦
    CloseEnhMetaFile 关闭指定的增强型图元文件设备场景,并将新建的图元文件返回一个句柄
    CloseFigure 描绘到一个路径时,关闭当前打开的图形
    CloseMetaFile 关闭指定的图元文件设备场景,并向新建的图元文件返回一个句柄
    
    CopyEnhMetaFile 制作指定增强型图元文件的一个副本(拷贝)
    CopyMetaFile 制作指定(标准)图元文件的一个副本
    CreateBrushIndirect 在一个LOGBRUSH数据结构的基础上创建一个刷子
    CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)
    CreateEnhMetaFile 创建一个增强型的图元文件设备场景
    CreateHatchBrush 创建带有阴影图案的一个刷子
    CreateMetaFile 创建一个图元文件设备场景
    CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子
    
    CreatePen 用指定的样式、宽度和颜色创建一个画笔
    CreatePenIndirect 根据指定的LOGPEN结构创建一个画笔
    CreateSolidBrush 用纯色创建一个刷子
    DeleteEnhMetaFile 删除指定的增强型图元文件
    DeleteMetaFile 删除指定的图元文件
    DeleteObject 删除GDI对象,对象使用的所有系统资源都会被释放
    DrawEdge 用指定的样式描绘一个矩形的边框
    DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序
    DrawFocusRect 画一个焦点矩形
    
    DrawFrameControl 描绘一个标准控件
    DrawState 为一幅图象或绘图操作应用各式各样的效果
    Ellipse 描绘一个椭圆,由指定的矩形围绕
    EndPath 停止定义一个路径
    EnumEnhMetaFile 针对一个增强型图元文件,列举其中单独的图元文件记录
    EnumMetaFile 为一个标准的windows图元文件枚举单独的图元文件记录
    EnumObjects 枚举可随同指定设备场景使用的画笔和刷子
    ExtCreatePen 创建一个扩展画笔(装饰或几何)
    ExtFloodFill 在指定的设备场景里,用当前选择的刷子填充一个区域
    
    FillPath 关闭路径中任何打开的图形,并用当前刷子填充
    FillRect 用指定的刷子填充一个矩形
    FlattenPath 将一个路径中的所有曲线都转换成线段
    FloodFill 用当前选定的刷子在指定的设备场景中填充一个区域
    FrameRect 用指定的刷子围绕一个矩形画一个边框
    GdiComment 为指定的增强型图元文件设备场景添加一条注释信息
    GdiFlush 执行任何未决的绘图操作
    GdiGetBatchLimit 判断有多少个GDI绘图命令位于队列中
    GdiSetBatchLimit 指定有多少个GDI绘图命令能够进入队列
    
    GetArcDirection 画圆弧的时候,判断当前采用的绘图方向
    GetBkColor 取得指定设备场景当前的背景颜色
    GetBkMode 针对指定的设备场景,取得当前的背景填充模式
    GetBrushOrgEx 判断指定设备场景中当前选定刷子起点
    GetCurrentObject 获得指定类型的当前选定对象
    GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置
    GetEnhMetaFile 取得磁盘文件中包含的一个增强型图元文件的图元文件句柄
    GetEnhMetaFileBits 将指定的增强型图元文件复制到一个内存缓冲区里
    
    GetEnhMetaFileDescription 返回对一个增强型图元文件的说明
    GetEnhMetaFileHeader 取得增强型图元文件的图元文件头
    GetEnhMetaFilePaletteEntries 取得增强型图元文件的全部或部分调色板
    GetMetaFile 取得包含在一个磁盘文件中的图元文件的图元文件句柄
    GetMetaFileBitsEx 将指定的图元文件复制到一个内存缓冲区
    GetMiterLimit 取得设备场景的斜率限制(Miter)设置
    GetNearestColor 根据设备的显示能力,取得与指定颜色最接近的一种纯色
    
    GetObjectAPI 取得对指定对象进行说明的一个结构
    GetObjectType 判断由指定句柄引用的GDI对象的类型
    GetPath 取得对当前路径进行定义的一系列数据
    GetPixel 在指定的设备场景中取得一个像素的RGB值
    GetPolyFillMode 针对指定的设备场景,获得多边形填充模式
    GetROP2 针对指定的设备场景,取得当前的绘图模式
    GetStockObject 取得一个固有对象(Stock)
    GetSysColorBrush 为任何一种标准系统颜色取得一个刷子
    GetWinMetaFileBits 通过在一个缓冲区中填充用于标准图元文件的数据,将一个增强型图元文件转换成标准windows图元文件
    InvertRect 通过反转每个像素的值,从而反转一个设备场景中指定的矩形
    LineDDA 枚举指定线段中的所有点
    LineTo 用当前画笔画一条线,从当前位置连到一个指定的点

    关于SHFileOperation函数的补充

    今天看到一个关于SHFileOperation函数使用的介绍,发现下面一些有用的资料,都是些之前未仔细了解的方面,这里把他们记录下来,留待以后查阅参考。
    fFlags成员标志间的关系
    标志
    抑制的对话框
    相关性与优先级
    FOF_MULTIDESTFILES
    无
    无
    FOF_FILESONLY
    无
    无
    FOF_SILENT
    如果设置,进度对话框不显示。
    优先于FOF_SIMPLEPROGRESS标志。
    FOF_SIMPLEPROGRESS
    无
    为FOF_SILENT标志所抑制。
    FOF_RENAMEONCOLLISION
    如果设置了这个标志,当被移动或拷贝的文件与已存在文件同名时置换对话框不会出现。
    名字冲突时,如果FOF_NOCONFIRMATION标志设置,则操作继续。
    如果二者都设置了,则它优先于FOF_NOCONFIRMATION。即,文件以给定的新名字复制,而不是覆盖。
    FOF_NOCONFIRMATION
    如果设置,确认对话框在任何情况下都不出现。
    名字冲突时,引起文件覆盖,除非设置了FOF_RENAMEONCOLLISION标志。
    FOF_NOCONFIRMMKDIR
    抑制请求建立新文件夹的对话框
    缺省目录作为严重错误产生一个错误消息框。
    建立目录的确认对话框作为错误消息框是否显示依赖于FOF_NOERRORUI的设置。
    FOF_NOERRORUI
    抑制所有错误消息框。
    优先于前一个标志。如果设置,则,缺省目录引起不被处理的异常,并且返回错误码。
    
    删除文件
            文件删除是一个简单的操作,它仅仅影响到输入缓冲pFrom,而pTo缓冲被忽略。与文件复制一样,操作的详细情况依赖于标志的设置。相关的标志是:
    标志
    值
    描述
    FOF_SILENT
    0x0004
    这个操作不回馈给用户,就是说,不显示进度对话框。相关的消息框仍然显示。
    FOF_NOCONFIRMATION
    0x0010
    这个标志使函数对任何遇到的消息框都自动回答Yes。
    FOF_ALLOWUNDO
    0x0040
    如果设置,这个标志强迫函数移动被删除的文件到‘回收站’中。否则,文件将被物理地从磁盘上删除。
    FOF_FILESONLY
    0x0080
    设置这个标志导致函数仅仅删除文件,跳过目录项。它仅仅应用于指定通配符的情况。
    FOF_SIMPLEPROGRESS
    0x0100
    这导致简化用户界面。使之只有动画而不报告被删除的文件名。代之的是显示lpszProgressTitle成员中指定的文字。(Win7实际中貌似不可用)
    FOF_NOERRORUI
    0x0400
    如果设置了这个标志,任何发生的错误都不能使消息框显示,而是程序中返回错误码。
    
            这里出现的标志最要紧的是FOF_ALLOWUNDO,它决定文件是否一次就全部删除,或存储到‘回收站’中等候可能的恢复。如果FOF_ALLOWUNDO被设置,文件则被移动到回收站,并且这个操作可以被Undo(尽管可以手动Undo)。Undo特征仅在删除下可用,在拷贝与移动中没有等价的操作。
    SHFileOperation()函数的返回值
            MSDN资料中说明,SHFileOperation()在成功时返回0,失败时返回非0值。显然这是真的,但并不是最有用的解释。重复测试这个函数,可以确信它有非常多的终止方式。事实上,我们经常在系统错误的提示中运行,在有些地方这个函数只是简单地返回从更靠近文件系统的其它程序中获得的返回码。下面列表给出了SHFileOperation()返回的最通常的部分错误。 
    错误码 描述
    2如果你试图重命名多重文件,这个消息就会出现。描述是相当直接的:系统不能找到指定的文件。
    
    7在询问是否想要置换给定文件时,你回答了‘取消’,函数就返回这个错误码。它的描述也是相当的不明确—存储控制块被销毁。
    
    115在试图重命名文件到不同的文件夹时,发生这个文件系统错。重命名文件只是改变文件名,而不能改变文件夹。
    
    117一个IOCTL错(输入/输出控制),在目的路径中有错误时或取消了新目录的建立时,这个错误发生了。
    
    123你正在试图重命名一个文件,然而你给出的名字是一个已经存在的文件。它也有一个无用的描述:文件名,目录名,或卷标号的语法是不正确的。
    
    1026在试图移动或拷贝一个不存在的文件时,出现这个文件系统错。一般地,它提示了,源缓冲中的某些东西应该修改一下。这个错误码弹出一个的错误框,你可以通过设置FOF_NOERRORUI标志抑制它的显示。
    View Code

    Sendmessage函数

    上面是我收集的方法,
    
    
    我又仔细阅读了SendMessage 的函数原型, 知道他有一个返回值
    LRESULT ,我现在想实现通过SENDMESSAGE函数的返回值来传递我的参数
    
    
    LRESULT SendMessage(
    HWND hWnd, // handle to destination window
    UINT Msg, // message
    WPARAM wParam, // first message parameter
    LPARAM lParam // second message parameter
    );
    
    
    
    MSDN里面的解释,有个朋友用中文翻译了一下
    
    
    /*
    这个返回值就是由相应的响应消息函数的返回值。
    
    例如:
    有自定义消息:WM_USER
    
    其响应函数:
    LRESULT Cexample::OnUser(WPARAM wParam, LPARAM lParam)
    
    {
    
    //….
    
    return 0;
    
    }
    
    则用SendMessage(hWnd, WM_USER, wParam, lParam);消息,其返回值应该为 0.
    
    
    
    那么我在DELPHI里面写了一个窗口子类化的函数, 
    
    
    
    
    //消息处理函数
    function NewWndProc(WindowHandle : hWnd; Msg : LongInt; ParamW : WParam; ParamL : LParam) : LongInt ; stdcall;
    begin
    If Msg = autolg.WM_KEY_FLAG Then //如果发送的是我的自定义消息则进入IF
    begin
    if ParamW=129990 then
    begin
    //上面的解释说是整个函数的返回值是Sendmessage
    //函数的返回值,那么我这里用
    result:=9999; //应该返回9999,可是函数返回
    //的是0,请问要求得Sendmessage返回值是在这里吗,
    //未我而来[编程群10307557] 提问
    end;
    
    
    end;
    
    
    
    这个是我写的要求返回值的代码:
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
    msgType:integer;
    msgN:integer;
    xx:longint;
    hwnd:thandle;
    begin
    msgType:= RegisterWindowMessage('FISH');
    hwnd:=findwindow(nil,'冰淇淋');
    xx:=Sendmessage(hwnd,msgtype,1122,0);
    edit3.Text:=inttostr(xx); //这里用于显示
    end;
    binglan212
    2009-12-19, 22:53:05
    result:=9999;
    exit;
    ImHolly
    2009-12-19, 23:09:28
    WM_COPYDATA
    不知道能不能满足你的要求
    网络游侠
    2009-12-20, 04:30:49
    var 
    //*定义一个全局变量
    str:string[200];
    
    var
    s:pchar;
    begin
    str:= 'dasdasd'; 
    s:= str[1];
    str[length(str)]:=#0;
    postmessage(hwnd,...,...,integer(s));
    
    end;
    huyongtq
    2010-01-04, 18:44:26
    var 
    //*定义一个全局变量
    str:string[200];
    
    var
    s:pchar;
    begin
    str:= 'dasdasd'; 
    s:= str[1];
    str[length(str)]:=#0;
    postmessage(hwnd,...,...,integ...
    
    谢谢网络游侠,只是不知道这个消息如何接受
    是
    var
    buff:pchar;
    begin
    new(buff);
    buff=pchar(lparam);
    Dispose(buff);
    
    
    接收的方式好像不对! 各位大哥请明示
    end;
    View Code

     DELPHI中MessageBox的用法

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了
     MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
     1、函数原型及参数
     function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
     hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
     Text:欲显示的信息字符串。
     Caption:对话框标题字符串。
     Type:对话框类型常量。
     该函数的返回值为整数,用于对话框按钮的识别。
     2、类型常量
     对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
     (1)按钮组合常量
     MB_OK = $00000000;         //一个确定按钮
     MB_OKCANCEL = $00000001;      //一个确定按钮,一个取消按钮
     MB_ABORTRETRYIGNORE = $00000002;  //一个异常终止按钮,一个重试按钮,一个忽略按钮
     MB_YESNOCANCEL = $00000003;     //一个是按钮,一个否按钮,一个取消按钮
     MB_YESNO = $00000004;        //一个是按钮,一个否按钮
     MB_RETRYCANCEL = $00000005;     //一个重试按钮,一个取消按钮
     (2)缺省按钮常量
     MB_DEFBUTTON1 = $00000000;     //第一个按钮为缺省按钮
     MB_DEFBUTTON2 = $00000100;     //第二个按钮为缺省按钮
     MB_DEFBUTTON3 = $00000200;     //第三个按钮为缺省按钮
     MB_DEFBUTTON4 = $00000300;     //第四个按钮为缺省按钮
     (3)图标常量
     MB_ICONHAND = $00000010;        //“×”号图标
     MB_ICONQUESTION = $00000020;      //“?”号图标
     MB_ICONEXCLAMATION = $00000030;    //“!”号图标
     MB_ICONASTERISK = $00000040;      //“i”图标
     MB_USERICON = $00000080;        //用户图标
     MB_ICONWARNING = MB_ICONEXCLAMATION;  //“!”号图标
     MB_IConERROR = MB_ICONHAND;      //“×”号图标
     MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
     MB_ICONSTOP = MB_ICONHAND;       //“×”号图标
     (4)运行模式常量
     MB_APPLMODAL = $00000000;    //应用程序模式,在未结束对话框前也能切换到另一应用程序
     MB_SYSTEMMODAL = $00001000;   //系统模式,必须结束对话框后,才能做其他操作
     MB_TASKMODAL = $00002000;    //任务模式,在未结束对话框前也能切换到另一应用程序
     MB_HELP = $00004000;       //Help Button
     3、函数返回值
     0            //对话框建立失败
     idOk = 1        //按确定按钮
     idCancel = 2      //按取消按钮
     idAbout = 3       //按异常终止按钮
     idRetry = 4       //按重试按钮
     idIgnore = 5      //按忽略按钮
     idYes = 6        //按是按钮
     idNo = 7        //按否按钮
    例子:messagebox(0,'没有选择播放类型','错误',MB_ICONEXCLAMATION );
    --Application.MessageBox('MessageBox','警告',MB_ICONWARNING+MB_YesNo);
    --MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel);
    --MessageBox(Form1.Handle,'MessageBox','提示‘,MB_ICONINFORMATION+MB_OkCancel+MB_DEFBUTTON2);
    -- if MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel)= idOk then
         begin
           ShowMessage('Ok');
         end;
    View Code
  • 相关阅读:
    Java实现文件夹下文件实时监控
    JAVA读取文件夹大小
    Java获取Linux上指定文件夹下所有第一级子文件夹
    自定义日志框架实现
    Node爬取简书首页文章
    NodeJS多进程
    NodeJS 连接接MySQL
    NodeJS Web模块
    NodeJS 模块&函数
    NodeJS Stream流
  • 原文地址:https://www.cnblogs.com/blogpro/p/11344132.html
Copyright © 2011-2022 走看看