VBA 64位API聲明語句第009講

跟我學VBA,我這里專注VBA, 授人以漁。我98年開始,從源碼接觸VBA已經20余年了,隨著年齡的增長,越來越覺得有必要把這項技能傳遞給需要這項技術的職場人員。希望職場和數據打交道的朋友,都來學習VBA,利用VBA,起碼可以提高自己的工作效率,可以有時間多陪陪父母,多陪陪家人,何樂而不為呢?我的教程一共九套,從入門開始一直講到程序的分發,是學習利用VBA的實用教程。這份API資料是隨高級教程贈送的.

這講我們繼續學習VBA 64位API聲明語句第009講,這些內容是MS的權威資料,看似枯燥,但對于想學習API函數的朋友是非常有用的。

【分享成果,隨喜正能量】132 不謀其前,不慮其后,不戀當今。你內心安適,就會寵辱不驚,俯仰無愧,從一天到一年,從一年到一生,秒秒感受安詳,活在至真、至善至美中,這才是人生的最高幸福。。

當學員學習到高級階段,如果引用API,這個資料可以直接查到64位寫法。大多數情況下我們是將低版本的程序文件升級到高版本,這時您就不必為如下的錯誤提示所困擾了:

' Privilege Set - This is defined for a privilege set of one.

' If more than one privilege is needed, then this structure

' will need to be allocated with more space.

'

' Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET

' structure (defined in se.h)

'

Type PRIVILEGE_SET

PrivilegeCount As Long

Control As Long

Privilege(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES

End Type

'//

' //

' NT Defined Privileges //

' //

' //

Const SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"

Const SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"

Const SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"

Const SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"

Const SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"

Const SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"

Const SE_TCB_NAME = "SeTcbPrivilege"

Const SE_SECURITY_NAME = "SeSecurityPrivilege"

Const SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"

Const SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"

Const SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"

Const SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"

Const SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"

Const SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"

Const SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"

Const SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"

Const SE_BACKUP_NAME = "SeBackupPrivilege"

Const SE_RESTORE_NAME = "SeRestorePrivilege"

Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege"

Const SE_DEBUG_NAME = "SeDebugPrivilege"

Const SE_AUDIT_NAME = "SeAuditPrivilege"

Const SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"

Const SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"

Const SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"

' //

' //

' Security Quality Of Service //

' //

' //

' //

' begin_ntddk begin_nthal begin_ntifs

'

' Impersonation Level

'

' Impersonation level is represented by a pair of bits in Windows.

' If a new impersonation level is added or lowest value is changed from

' 0 to something else, fix the Windows CreateFile call.

'

Const SecurityAnonymous = 1

Const SecurityIdentification = 2

'//

' //

' Registry API Constants //

' //

' //

' Reg Create Type Values...

Const REG_OPTION_RESERVED = 0 ' Parameter is reserved

Const REG_OPTION_NON_VOLATILE = 0 ' Key is preserved when system is rebooted

Const REG_OPTION_VOLATILE = 1 ' Key is not preserved when system is rebooted

Const REG_OPTION_CREATE_LINK = 2 ' Created key is a symbolic link

Const REG_OPTION_BACKUP_RESTORE = 4 ' open for backup or restore

' Reg Data Types...

Const REG_NONE = 0 ' No value type

Const REG_SZ = 1 ' Unicode nul terminated string

Const REG_EXPAND_SZ = 2 ' Unicode nul terminated string

Const REG_BINARY = 3 ' Free form binary

Const REG_DWORD = 4 ' 32-bit number

Const REG_DWORD_LITTLE_ENDIAN = 4 ' 32-bit number (same as REG_DWORD)

Const REG_DWORD_BIG_ENDIAN = 5 ' 32-bit number

Const REG_LINK = 6 ' Symbolic Link (unicode)

Const REG_MULTI_SZ = 7 ' Multiple Unicode strings

Const REG_RESOURCE_LIST = 8 ' Resource list in the resource map

Const REG_FULL_RESOURCE_DESCRIPTOR = 9 ' Resource list in the hardware description

Const REG_RESOURCE_REQUIREMENTS_LIST = 10

Const REG_CREATED_NEW_KEY = &H1 ' New Registry Key created

Const REG_OPENED_EXISTING_KEY = &H2 ' Existing Key opened

Const REG_WHOLE_HIVE_VOLATILE = &H1 ' Restore whole hive volatile

Const REG_REFRESH_HIVE = &H2 ' Unwind changes to last flush

Const REG_NOTIFY_CHANGE_NAME = &H1 ' Create or delete (child)

Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2

Const REG_NOTIFY_CHANGE_LAST_SET = &H4 ' Time stamp

Const REG_NOTIFY_CHANGE_SECURITY = &H8

Const REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or REG_NOTIFY_CHANGE_ATTRIBUTES Or REG_NOTIFY_CHANGE_LAST_SET Or REG_NOTIFY_CHANGE_SECURITY)

Const REG_LEGAL_OPTION = (REG_OPTION_RESERVED Or REG_OPTION_NON_VOLATILE Or REG_OPTION_VOLATILE Or REG_OPTION_CREATE_LINK Or REG_OPTION_BACKUP_RESTORE)

' Reg Key Security Options

' Const READ_CONTROL = &H20000

Const KEY_QUERY_VALUE = &H1

Const KEY_SET_VALUE = &H2

Const KEY_CREATE_SUB_KEY = &H4

Const KEY_ENUMERATE_SUB_KEYS = &H8

Const KEY_NOTIFY = &H10

Const KEY_CREATE_LINK = &H20

Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))

Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))

Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))

'Const STANDARD_RIGHTS_READ = (READ_CONTROL)

'Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)

Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))

' end winnt.txt

' Debug APIs

Const EXCEPTION_DEBUG_EVENT = 1

Const CREATE_THREAD_DEBUG_EVENT = 2

Const CREATE_PROCESS_DEBUG_EVENT = 3

Const EXIT_THREAD_DEBUG_EVENT = 4

Const EXIT_PROCESS_DEBUG_EVENT = 5

Const LOAD_DLL_DEBUG_EVENT = 6

Const UNLOAD_DLL_DEBUG_EVENT = 7

Const OUTPUT_DEBUG_STRING_EVENT = 8

Const RIP_EVENT = 9

Const EXCEPTION_MAXIMUM_PARAMETERS = 15

Type EXCEPTION_RECORD

ExceptionCode As Long

ExceptionFlags As Long

pExceptionRecord As LongPtr ' Pointer to an EXCEPTION_RECORD structure

ExceptionAddress As LongPtr

NumberParameters As Long

ExceptionInformation(0 To EXCEPTION_MAXIMUM_PARAMETERS - 1) As LongPtr

End Type

Type EXCEPTION_DEBUG_INFO

pExceptionRecord As EXCEPTION_RECORD

dwFirstChance As Long

End Type

Type CREATE_THREAD_DEBUG_INFO

hThread As LongPtr

lpThreadLocalBase As LongPtr

lpStartAddress As LongPtr

End Type

Type CREATE_PROCESS_DEBUG_INFO

hFile As LongPtr

hProcess As LongPtr

hThread As LongPtr

lpBaseOfImage As LongPtr

dwDebugInfoFileOffset As Long

nDebugInfoSize As Long

lpThreadLocalBase As LongPtr

lpStartAddress As LongPtr

lpImageName As LongPtr

fUnicode As Integer

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:





本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81609.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81609.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81609.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在pycharm profession 2020.3將.py程序使用pyinstaller打包成exe

一、安裝pyinstaller 在pycharm的項目的Terminal中運行pip3 install pyinstaller即可。 安裝后在Terminal中輸入pip3 list看一下是否成功 二、務必在在項目的Terminal中輸入命令打包,命令如下: python3 -m PyInstaller --noconsole --onefile xxx.py …

Unity SpriteRenderer(精靈渲染器)

🏆 個人愚見,沒事寫寫筆記 🏆《博客內容》:Unity3D開發內容 🏆🎉歡迎 👍點贊?評論?收藏 🔎SpriteRenderer:精靈渲染器 💡Sprite Renderer是精靈渲染器,所有…

2.LED燈的控制和按鍵檢測

目錄 STM32F103的GPIO口 GPIO口的作用 GPIO口的工作模式 input輸入檢測 -- 向內檢測 output控制輸出 -- 向外輸出 寄存器 寄存器地址的確定 配置GPIO口的工作模式 時鐘的開啟和關閉 軟件編程驅動 LED 燈 硬件 軟件 軟件編程驅動 KEY 按鍵 硬件 軟件 按鍵消抖 代碼 STM32F…

Flink 的狀態機制

在實時流處理領域,狀態管理是構建復雜業務邏輯的核心能力。Apache Flink 通過統一的狀態抽象和高效的容錯機制,為開發者提供了從毫秒級窗口聚合到 TB 級歷史數據關聯的全場景支持。本文將深入剖析 Flink 狀態機制的底層原理,結合實際案例展示…

【查看.ipynp 文件】

目錄 如何打開 .ipynb 文件? 如果確實是 .ipynp 文件: .ipynp 并不是常見的 Jupyter Notebook 文件格式。通常,Jupyter Notebook 文件的擴展名是 .ipynb(即 Interactive Python Notebook)。如果你遇到的是 .ipynb 文…

Runnable組件重試機制降低程序錯誤率

一、LangChain 重試機制深度解析 當構建生產級AI應用時,with_retry() 機制可有效提升系統容錯性,典型應用場景包括: API調用頻率限制時的自動恢復模型服務臨時不可用的故障轉移網絡波動導致的瞬時異常處理 參數詳解與配置策略 1. 參數配置…

k8s筆記——kubebuilder工作流程

kubebuilder工作流程 Kubebuilder 工作流程詳解 Kubebuilder 是 Kubernetes 官方推薦的 Operator 開發框架,用于構建基于 Custom Resource Definitions (CRD) 的控制器。以下是其核心工作流程的完整說明: 1. 初始化項目 # 創建項目目錄 mkdir my-opera…

Java框架“若依RuoYi”前后端分離部署

運行環境 Eclipse IDE for Enterprise Java and Web Developers 下載Eclipse解壓Eclipse到文件夾 Maven 下載Maven解壓Maven到文件夾配置環境變量MAVEN_HOME為Maven安裝位置配置環境變量path為%MAVEN_HOME%\bin Redis 下載Redis解壓Redis到文件夾配置環境變量path為Redis安裝位…

游戲引擎學習第249天:清理調試宏

歡迎大家,讓我們直接進入調試代碼的改進工作 接下來,我們來看一下上次停留的位置。如果我沒記錯的話,上一場直播的結尾我有提到一些我想做的事情,并且在代碼中留下了一個待辦事項。所以也許我們今天首先做的就是解決這個問題。但…

二極管反向恢復的定義和原理

二極管的反向恢復定義 二極管的反向恢復是指二極管從正向導通狀態切換到反向阻斷狀態時,電流從正向變為負向并最終回到零所需的時間。具體過程如下: 正向導通:當二極管正向偏置時,電流可以順利通過,此時二極管處于導…

音視頻開發技術總結報告

音視頻開發技術總結報告 一、音視頻開發基礎 1、音頻基礎 聲音原理 聲波特性:頻率、振幅、波長人耳聽覺范圍:20Hz-20kHz聲音三要素:音調、音量、音色 數字音頻基礎 采樣率:常見44.1kHz、48kHz、96kHz量化位數:8bit、…

中間件和組件

文章目錄 1. 前言2. 中間件介紹3. 組件介紹4. 區別對比5. 簡單類比6. 總結 中間件和組件 1. 前言 中間件和組件是軟件開發中兩個重要的概念,但它們的定位和作用完全不同。中間件解決的事通信、跨系統、安全等問題,組件是解決具體業務模塊,提高…

AI超級智能體教程(五)---自定義advisor擴展+結構化json輸出

文章目錄 1.自定義攔截器1.2自定義Advisor1.2打斷點調試過程1.3Re-reading Advisor自定義實現 2.戀愛報告開發--json結構化輸出2.1原理介紹2.1代碼實現2.3編寫測試用例2.4結構化輸出效果 1.自定義攔截器 1.2自定義Advisor spring里面的這個默認的是SimpleloggerAdvisor&#…

02_使用 AES 算法實現文件加密上傳至阿里云、解密下載

02_使用 AES 算法實現文件加密上傳至阿里云、解密下載 一、文件上傳下載接口 controller 層 RestController RequestMapping("/api/common/file") Api(tags "公共文件上傳") AllArgsConstructor Slf4j public class FileV2Controller {private final Os…

力扣:24兩兩交換鏈表的節點

目錄 1.題目描述: 2.算法思路: 3.代碼展示: 1.題目描述: 給你一個鏈表,兩兩交換其中相鄰的節點,并返回交換后鏈表的頭節點。你必須在不修改節點內部的值的情況下完成本題(即,只能…

smss源代碼分析之smss!SmpLoadSubSystemsForMuSession函數分析加載csrss.exe

第一部分: Next SmpSubSystemsToLoad.Flink; while ( Next ! &SmpSubSystemsToLoad ) { p CONTAINING_RECORD( Next, SMP_REGISTRY_VALUE, Entry )…

MIT6.S081-lab8前置

MIT6.S081-lab8前置 注:本部分除了文件系統還包含了調度的內容。 調度 調度涉及到保存寄存器,恢復寄存器,就這一點而言,和我們的 trap 很像,但是實際上,我們實現并不是復用了 trap 的邏輯,我…

哈希函數詳解(SHA-2系列、SHA-3系列、SM3國密)案例:構建簡單的區塊鏈——密碼學基礎

文章目錄 一、密碼哈希函數概述1.1 哈希函數的基本概念1.2 哈希函數在數據安全中的應用 二、SHA-2系列算法詳解2.1 SHA-2的起源與發展2.2 SHA-256技術細節與實現2.3 SHA-384和SHA-512的特點2.4 SHA-2系列算法的安全性評估 三、SHA-3系列算法詳解3.1 SHA-3的起源與設計理念3.2 K…

待驗證---Oracle 19c 在 CentOS 7 上的快速安裝部署指南

Oracle 19c 在 CentOS 7 上的快速安裝部署指南 Oracle Database 19c 是一個功能強大的企業級數據庫系統,下面我將為您提供在 CentOS 7 上快速安裝部署 Oracle 19c 的詳細步驟。 一、準備工作 1. 系統要求 CentOS 7 (64位)最小內存: 2GB (推薦 8GB 以上)最小磁盤…

stm32 HAI庫 SPI(一)原理

基本特點 通信方式:同步、串行(串行、并行、并發,別再傻傻分不清了!_串行和并行的區別-CSDN博客)、全雙工 (也可以選擇半雙工)速率:50MHZ以下數據格式:8位/16位傳輸順序…