VBA 64位API声明语句第006讲

360影视 2025-02-03 18:53 2

摘要:跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪

跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪陪父母,多陪陪家人,何乐而不为呢?我的教程一共九套,从入门开始一直讲到程序的分发,是学习利用VBA的实用教程。这份API资料是随高级教程赠送的.

这讲我们继续学习VBA 64位API声明语句第006讲,这些内容是MS的权威资料,看似枯燥,但对于想学习API函数的朋友是非常有用的。

【分享成果,随喜正能量】 千磨万击还坚劲,任尔东西南北风。生活是自己的,你选择怎样的生活,就会成就怎样的你,与其抱怨这个世界不美好,不如用自己的努力,美好和幸运自然不期而至。。

当学员学习到高级阶段,如果引用API,这个资料可以直接查到64位写法。大多数情况下我们是将低版本的程序文件升级到高版本,这时您就不必为如下的错误提示所困扰了:

Const FILE_READ_EA = (&H8) ' file directory

Const FILE_READ_PROPERTIES = FILE_READ_EA

Const FILE_WRITE_EA = (&H10) ' file directory

Const FILE_WRITE_PROPERTIES = FILE_WRITE_EA

Const FILE_EXECUTE = (&H20) ' file

Const FILE_TRAVERSE = (&H20) ' directory

Const FILE_DELETE_CHILD = (&H40) ' directory

Const FILE_READ_ATTRIBUTES = (&H80) ' all

Const FILE_WRITE_ATTRIBUTES = (&H100) ' all

Const FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H1FF)

Const FILE_GENERIC_READ = (STANDARD_RIGHTS_READ Or FILE_READ_DATA Or FILE_READ_ATTRIBUTES Or FILE_READ_EA Or SYNCHRONIZE)

Const FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE Or FILE_WRITE_DATA Or FILE_WRITE_ATTRIBUTES Or FILE_WRITE_EA Or FILE_APPEND_DATA Or SYNCHRONIZE)

Const FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE Or FILE_READ_ATTRIBUTES Or FILE_EXECUTE Or SYNCHRONIZE)

Const FILE_SHARE_READ = &H1

Const FILE_SHARE_WRITE = &H2

Const FILE_ATTRIBUTE_READONLY = &H1

Const FILE_ATTRIBUTE_HIDDEN = &H2

Const FILE_ATTRIBUTE_SYSTEM = &H4

Const FILE_ATTRIBUTE_DIRECTORY = &H10

Const FILE_ATTRIBUTE_ARCHIVE = &H20

Const FILE_ATTRIBUTE_NORMAL = &H80

Const FILE_ATTRIBUTE_TEMPORARY = &H100

Const FILE_ATTRIBUTE_COMPRESSED = &H800

Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1

Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2

Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4

Const FILE_NOTIFY_CHANGE_SIZE = &H8

Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10

Const FILE_NOTIFY_CHANGE_SECURITY = &H100

Const MAILSLOT_NO_MESSAGE = (-1)

Const MAILSLOT_WAIT_FOREVER = (-1)

Const FILE_CASE_SENSITIVE_SEARCH = &H1

Const FILE_CASE_PRESERVED_NAMES = &H2

Const FILE_UNICODE_ON_DISK = &H4

Const FILE_PERSISTENT_ACLS = &H8

Const FILE_FILE_COMPRESSION = &H10

Const FILE_VOLUME_IS_COMPRESSED = &H8000&

Const IO_COMPLETION_MODIFY_STATE = &H2

Const IO_COMPLETION_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H3)

Const DUPLICATE_CLOSE_SOURCE = &H1

Const DUPLICATE_SAME_ACCESS = &H2

' //////////////////////////////////////////////////////////////////////

' //

' ACCESS MASK //

' //

'

' Define the access mask as a Longword sized structure divided up as

' follows:

' typedef struct _ACCESS_MASK {

' WORD SpecificRights;

' Byte StandardRights;

' Byte AccessSystemAcl : 1;

' Byte Reserved : 3;

' Byte GenericAll : 1;

' Byte GenericExecute : 1;

' Byte GenericWrite : 1;

' Byte GenericRead : 1;

' } ACCESS_MASK;

' typedef ACCESS_MASK *PACCESS_MASK;

'

' but to make life simple for programmer's we'll allow them to specify

' a desired access mask by simply OR'ing together mulitple single rights

' and treat an access mask as a DWORD. For example

'

' DesiredAccess = DELETE Or READ_CONTROL

'

' So we'll declare ACCESS_MASK as DWORD

'

' begin_ntddk begin_nthal begin_ntifs

' //

' ACCESS TYPES //

' //

'

' The following are masks for the predefined standard access types

' AccessSystemAcl access type

Const ACCESS_SYSTEM_SECURITY = &H1000000

' MaximumAllowed access type

Const MAXIMUM_ALLOWED = &H2000000

' These are the generic rights.

Const GENERIC_READ = &H80000000

Const GENERIC_WRITE = &H40000000

Const GENERIC_EXECUTE = &H20000000

Const GENERIC_ALL = &H10000000

' Define the generic mapping array. This is used to denote the

' mapping of each generic access right to a specific access mask.

Type GENERIC_MAPPING

GenericRead As Long

GenericWrite As Long

GenericExecute As Long

GenericAll As Long

End Type

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

来源:VBA语言专业教育

相关推荐