亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? undocsh.bas

?? vb中shell API的應(yīng)用實(shí)例 vb中shell API的應(yīng)用實(shí)例
?? BAS
字號(hào):
Attribute VB_Name = "mUndocShell32Defs"
Option Explicit

' ====================================================
' A demo of a dozen undocumented Shell32.dll functions
' ====================================================

' Brought to you by:
'   Brad Martinez
'   btmtz@msn.com
'   btmtz@aol.com
'   http://members.aol.com/btmtz/vb

' This demo would not have happened if it weren't for the function prototypes
' found at Chris Becke's site:

' http://www.dbn.lia.net/chris/  <chris@dbn.lia.net>

' I thank him for making this information available.

' ====================================================

' All of the Shell32.dll functions demonstrated are exported only by ordinal
' (NONAME) and are not know to be documented by Microsoft. As a result,
' they are most likely not supported by Microsoft and may very well not be
' included in future versions of Shell32.dll. Use them at your own risk.

' Each function's syntax and description was derived and tested solely by
' the author. The functions were also renamed from what may have been
' their original exported name in the debug version of the library, to slightly
' more intuitive names (since only the ordinals are shown in an export dump
' of Shell32.dll). It is suggested that developers who decide to implement
' these functions, maintain the names that are used here to avoid confusion.
' Here is the list:

' Ord   Hidden name           param bytes    Renamed to
' ===  ==========          =========    =========
' 59    _RestartDialog           12                 SHRestartSystemMB
' 60    ?                                4                 SHShutDownDialog
' 61    ?                              24                 SHRunDialog
' 62    _PickIconDlg             16                 SHChangeIconDialog

' 31    _PathFindExtension    4                  SHGetExtension
' 32    _PathAddBackslash    4                  SHAddBackslash
' 34    _PathFindFileName     4                  SHGetFileName
' 40    _PathIsRelative           4                  SHPathIsRelative
' 43    _PathIsExe                 4                  SHPathIsExe
' 45    _PathFileExists           4                  SHFileExists
' 52    _PathGetArgs             4                  SHGetPathArgs
' 92    _PathGetintPath          4                  SHGetShortPathName

' IMPORTANT NOTE: Unlike most documented Win32 API functions, the
' functions that accept string parameters (all but SHShutDownDialog),
' expect strings in either the ANSII or Unicode character set, depending
' on the Windows platform the function is called from (i.e. no separate
' ANSII "A" or Wide "W" function versions).

' In order for a function to return an accurate value (and reduce the potential
' for a fatal exception), the function must be passed ANSII strings when
' called in Win95, and must be passed Unicode strings when called in WinNT.
' Note the explicit use of the global "g_fIsWinNT" flag throughout the demo
' and the corresponding call to VB's StrConv function (equivalent to using the
' MultiByteToWideChar API) that converts ANSII strings to their Unicode
' equivalent when g_fIsWinNT evaluates to True.

' If it is found that any of the information in this demo proves to be inaccurate
' or incomplete, the author would appreciate notification at either of the email
' addresses above so that it can be corrected.
'                                             Thanks and enjoy, Brad Martinez

' Developed and tested with VB4.0a-32 on both Win95 v4.00.950a and WinNT
' v4.0 Server SP2.

' ======================================================
' Dialog functions (sorted by ordinal):
' ======================================================

' The "System Settings Change" message box.
' ("You must restart your computer before the new settings will take effect.")
Declare Function SHRestartSystemMB Lib "shell32" Alias "#59" _
                            (ByVal hOwner As Long, _
                            ByVal sPrompt As String, _
                            ByVal uFlags As Long) As Long

' hOwner = Message box owner, specify 0 for desktop (will be top-level)
' sPrompt = Specified prompt string placed above the default prompt.
' uFlags = Can be the following values:

' WinNT
' Appears to use ExitWindowsEx uFlags values and behave accordingly:
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1   ' NT: needs SE_SHUTDOWN_NAME privilege (no def prompt)
Public Const EWX_REBOOT = 2        ' NT: needs SE_SHUTDOWN_NAME privilege
Public Const EWX_FORCE = 4
Public Const EWX_POWEROFF = 8   ' NT: needs SE_SHUTDOWN_NAME privilege

' Win95
' Any Yes selection produces the eqivalent to ExitWindowsEx(EWX_FORCE, 0) (?)
' (i.e. no WM_QUERYENDSESSION or WM_ENDSESSION is sent!).
' Other than is noted below, it was found that any other value shuts the system down
' (no reboot) and includes the default prompt.

' Shuts the system down (no reboot) and does not include the default prompt:
Public Const shrsExitNoDefPrompt = 1
' Reboots the system and includes the default prompt.
Public Const shrsRebootSystem = 2   ' = EWX_REBOOT

' Rtn vals: Yes = 6 (vbYes), No = 7 (vbNo)

'----------------------------
' The Shut Down dialog via the Start menu
Declare Function SHShutDownDialog Lib "shell32" Alias "#60" _
                            (ByVal YourGuess As Long) As Long

'----------------------------
' The Run dialog via the Start menu
Declare Function SHRunDialog Lib "shell32" Alias "#61" _
                            (ByVal hOwner As Long, _
                             ByVal Unknown1 As Long, _
                             ByVal Unknown2 As Long, _
                             ByVal szTitle As String, _
                             ByVal szPrompt As String, _
                             ByVal uFlags As Long) As Long

' hOwner = Dialog owner, specify 0 for desktop (will be top-level)
' Unknown1 = ?
' Unknown2 = ?, non-zero causes gpf! strings are ok...(?)
' szTitle = Dialog title, specify vbNullString for default ("Run")
' szPrompt = Dialog prompt, specify vbNullString for default ("Type the name...")

' If uFlags is the following constant, the string from last program run
' will not appear in the dialog's combo box (that's all I found...)

Public Const shrdNoMRUString = &H2   ' 2nd bit is set

' If there is some way to set & rtn the command line, I didn't find it...
' Always returns 0 (?)

'----------------------------
' The "Change Icon" dialog.
Declare Function SHChangeIconDialog Lib "shell32" Alias "#62" _
                            (ByVal hOwner As Long, _
                            ByVal szFilename As String, _
                            ByVal Reserved As Long, _
                            lpIconIndex As Long) As Long

' hOwner = Dialog owner, specify 0 for desktop (will be top-level)
' szFilename = The initially displayed filename, filled on selection.
'                      Should be allocated to MAX_PATH (260) in order to
'                      receive the selected filename's path.
' Reserved = ?
' lpIconIndex = Pointer to the initially displayed filename's icon index,
'                     and is filled on icon selection.

' Rtns non-zero on select, zero if cancelled.

' ======================================================
' Path functions (sorted by ordinal):
' ======================================================

' Rtns pointer to the last dot in szPath and the string following it.
' (includes the dot with the extension)
' Rtns 0 if szPath contains no dot.
' For the function to succeed, szPath should be null terminated
' and be allocated to MAX_PATH bytes (260).
' Does not check szPath for validity.
' (could be called "GetStrAtLastDot")
Declare Function SHGetExtension Lib "shell32" Alias "#31" _
                            (ByVal szPath As String) As Long

'----------------------------
' Inserts a backslash before the first null char in szPath.
' szPath is unchanged if it already contains a backslash
' before the first null char or contains no null char at all.
' Rtn pointer to?
' Does not check szPath for validity.
' (the name almost fits...)
Declare Function SHAddBackslash Lib "shell32" Alias "#32" _
                            (ByVal szPath As String) As Long

'----------------------------
' Rtn a pointer to the string in szPath after the last backslash.
' Rtns 0 if szPath contains no backslash or no char follows the last backslash.
' For the function to succeed, szPath should be null terminated
' and be allocated to MAX_PATH bytes (260).
' Does not check szPath for validity.
' (could be called "GetStrAfterLastBackslash")
Declare Function SHGetFileName Lib "shell32" Alias "#34" _
                            (ByVal szPath As String) As Long

'----------------------------
' Rtns non-zero if szPath does not evaluate to a UNC path.
' (if either the first char is not a backslash "\" or the 2nd char is not a colon ":")
' Does not check szPath for validity.
' (the name almost fits...)
Declare Function SHPathIsRelative Lib "shell32" Alias "#40" _
                            (ByVal szPath As String) As Long

'----------------------------
' Rtns non-zero if szPath has an executable extension.
' (if last 4 char are either ".exe", ".com", ".bat" or ".pif")
' Does not check szPath for validity.
' (could be called "HasExeExtension")
Declare Function SHPathIsExe Lib "shell32" Alias "#43" _
                            (ByVal szPath As String) As Long

'----------------------------
' Rtns non-zero if szPath is valid absolute UNC path.
' Accepts file, folder or network paths.
' Rtns True for a relative path only if it exists in the curdir.
' (the name actually fits...)
Declare Function SHFileExists Lib "shell32" Alias "#45" _
                            (ByVal szPath As String) As Long

'----------------------------
' Rtns a pointer to the string after first space in szPath.
' Rtns null pointer if szPath contains no space or no char
' following the first space.
' For the function to succeed, szPath should be null terminated
' and be allocated to MAX_PATH bytes (260).
' Does not check szPath for validity.
' (could be called "GetStrAfterFirstSpace")
Declare Function SHGetPathArgs Lib "shell32" Alias "#52" _
                            (ByVal szPath As String) As Long

'----------------------------
' Fills szPath w/ it's DOS (8.3) file system string.
' If successful, rtns non-zero (sometimes is a pointer to szPath, sometimes not!)
' Rtns zero if path is invalid.
' szPath must be a valid absolute path.
' Rtns non-zero for a relative path only if it exists in the curdir.
' For the function to work correctly, szPath should be null terminated
' and be allocated to MAX_PATH bytes (260).
' (the name definately fits...)
Declare Function SHGetShortPathName Lib "shell32" Alias "#92" _
                            (ByVal szPath As String) As Long

' ======================================================
' A few slightly more familiar APIs...

' Maximun long filename path length
Public Const MAX_PATH = 260

Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _
                            (ByVal lpBuffer As String, _
                            ByVal nSize As Long) As Long

Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" _
                            (ByVal lpszFile As String, _
                            ByVal nIconIndex As Long, _
                            phiconLarge As Long, _
                            phiconSmall As Long, _
                            ByVal nIcons As Long) As Long

Declare Function DrawIconEx Lib "user32" _
                            (ByVal hDC As Long, _
                             ByVal xLeft As Long, _
                             ByVal yTop As Long, _
                             ByVal hIcon As Long, _
                             ByVal cxWidth As Long, _
                             ByVal cyWidth As Long, _
                             ByVal istepIfAniCur As Long, _
                             ByVal hbrFlickerFreeDraw As Long, _
                             ByVal diFlags As Long) As Boolean

' DrawIconEx() diFlags values:
Public Const DI_MASK = &H1
Public Const DI_IMAGE = &H2
Public Const DI_NORMAL = &H3
Public Const DI_COMPAT = &H4
Public Const DI_DEFAULTSIZE = &H8

Declare Function DestroyIcon Lib "user32" _
                            (ByVal hIcon As Long) As Long
'

' Terminates sPath w/ null chars making
' the return string MAX_PATH chars long.

Public Function MakeMaxPath(ByVal sPath As String) As String
  MakeMaxPath = sPath & String$(MAX_PATH - Len(sPath), 0)
End Function

' ======================================================
' Wrappers for Path functions (see respective API description above):

Public Function GetExtension(sPathIn) As String
  Dim sPathOut As String
  sPathOut = MakeMaxPath(sPathIn)
  If g_fIsWinNT Then sPathOut = StrConv(sPathOut, vbUnicode)
  ' Does not fill sPathOut w/ ext., just rtns ptr to ext
  GetExtension = GetStrFromPtr(SHGetExtension(sPathOut), Len(sPathOut))
End Function

Public Function NormalizePath(sPathIn As String) As String
  Dim sPathOut As String
  sPathOut = sPathIn & vbNullChar
  If g_fIsWinNT Then sPathOut = StrConv(sPathOut, vbUnicode)
  SHAddBackslash sPathOut
  NormalizePath = GetStrFromBuffer(sPathOut)
End Function

Public Function GetFileName(sPathIn As String) As String
  Dim sPathOut As String
  sPathOut = MakeMaxPath(sPathIn)
  If g_fIsWinNT Then sPathOut = StrConv(sPathOut, vbUnicode)
  GetFileName = GetStrFromPtr(SHGetFileName(sPathOut), MAX_PATH)
End Function

Public Function IsPathRelative(sPath As String) As Boolean
  If g_fIsWinNT Then
    IsPathRelative = SHPathIsRelative(StrConv(sPath, vbUnicode))
  Else
    IsPathRelative = SHPathIsRelative(sPath)
  End If
End Function

Public Function IsPathExe(sPath As String) As Boolean
  If g_fIsWinNT Then
    IsPathExe = SHPathIsExe(StrConv(sPath, vbUnicode))
  Else
    IsPathExe = SHPathIsExe(sPath)
  End If
End Function

Public Function FileExists(sPath As String) As Boolean
  If g_fIsWinNT Then
    FileExists = SHFileExists(StrConv(sPath, vbUnicode))
  Else
    FileExists = SHFileExists(sPath)
  End If
End Function

Public Function GetArgs(sPathIn As String) As String
  Dim sPathOut As String
  sPathOut = MakeMaxPath(sPathIn)   ' sPathIn
  If g_fIsWinNT Then sPathOut = StrConv(sPathOut, vbUnicode)
  GetArgs = GetStrFromPtr(SHGetPathArgs(sPathOut), Len(sPathOut))
End Function

Public Function GetShortPath(sPathIn As String) As String
  Dim sPathOut As String
  sPathOut = MakeMaxPath(sPathIn)   ' path could be longer...!
  If g_fIsWinNT Then sPathOut = StrConv(sPathOut, vbUnicode)
  SHGetShortPathName sPathOut
  GetShortPath = GetStrFromBuffer(sPathOut)
End Function

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品66部| 国产午夜精品久久久久久免费视 | 一本色道a无线码一区v| 黑人巨大精品欧美黑白配亚洲| 亚洲成人免费观看| 亚洲另类春色国产| 国产精品天干天干在线综合| 精品sm在线观看| 日韩一二三四区| 91麻豆精品国产91久久久使用方法| 国产成人自拍网| 国产九色sp调教91| 国产高清在线精品| 国产精品一区二区91| 国产在线不卡视频| 蜜桃久久av一区| 免播放器亚洲一区| 奇米色一区二区| 久久99精品一区二区三区| 久久er99精品| 国产精品66部| 久久99精品国产麻豆婷婷| 久久精品国产精品青草| 亚洲精品国产品国语在线app| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品乱码久久久久久黑人| 国产精品久久久久久久久图文区 | 久久综合九色综合97婷婷女人| 欧美二区在线观看| 欧美一区二区免费视频| 欧美日韩不卡在线| 日韩午夜在线观看视频| 日韩亚洲欧美综合| 精品va天堂亚洲国产| 国产亚洲短视频| 中文字幕一区二区三区不卡在线 | 日韩一区二区免费在线观看| 日韩欧美在线影院| 欧美精品一区二区三区蜜臀| 国产亚洲一区二区在线观看| 国产精品五月天| 国产剧情一区二区三区| 丰满少妇久久久久久久| 99在线精品视频| 欧美日韩一区二区三区不卡| 91精品国产乱码久久蜜臀| wwwwww.欧美系列| 国产精品久久久久久一区二区三区 | 成人午夜在线视频| 成人黄色在线网站| 欧美天堂一区二区三区| 日韩女优av电影| 中文字幕免费一区| 亚洲综合区在线| 久久av资源站| www.欧美精品一二区| 精品污污网站免费看| 欧美一区二区三区婷婷月色 | 亚洲精品免费视频| 婷婷久久综合九色国产成人 | 日韩精品一区二区三区在线| 国产日韩欧美综合一区| 亚洲午夜电影在线| 久久精品国产精品亚洲精品| av一二三不卡影片| 欧美一区二区三区小说| 国产精品久久久久久久午夜片| 亚洲va欧美va人人爽午夜| 国产精品夜夜嗨| 欧美日韩国产123区| 国产亚洲va综合人人澡精品| 亚洲国产日韩综合久久精品| 国产精品系列在线播放| 欧美色图12p| 国产精品午夜免费| 日本亚洲三级在线| 91捆绑美女网站| 成人小视频免费在线观看| 欧美狂野另类xxxxoooo| 亚洲综合男人的天堂| 不卡影院免费观看| 久久精品人人做人人综合| 免费一级片91| 欧美日韩电影在线| 亚洲午夜精品网| 91免费视频网| √…a在线天堂一区| 国产成人丝袜美腿| 久久婷婷一区二区三区| 久久精品噜噜噜成人av农村| 欧美日韩国产123区| 亚洲高清在线视频| 精品视频1区2区| 午夜欧美视频在线观看| 欧美日韩国产高清一区二区三区 | 国产永久精品大片wwwapp| 欧美成人三级在线| 麻豆91精品视频| 91麻豆精品国产91久久久 | av中文一区二区三区| 国产精品妹子av| 99久久国产免费看| 亚洲免费观看高清| 91麻豆精品在线观看| 亚洲欧美国产77777| 日本韩国一区二区| 亚洲国产精品一区二区www| 在线免费av一区| 亚洲国产精品一区二区久久| 欧美另类变人与禽xxxxx| 天天做天天摸天天爽国产一区| 欧美疯狂做受xxxx富婆| 麻豆精品在线观看| 久久精品亚洲国产奇米99| 成人激情动漫在线观看| 亚洲欧洲综合另类| 欧美三区免费完整视频在线观看| 亚洲午夜久久久久久久久电影院 | 欧美伦理影视网| 蜜桃视频一区二区三区| 2023国产精品视频| 成人免费视频免费观看| 亚洲人午夜精品天堂一二香蕉| 91老师国产黑色丝袜在线| 亚洲国产视频网站| 日韩欧美二区三区| 大白屁股一区二区视频| 亚洲精品国产一区二区精华液| 欧美日韩国产综合草草| 狠狠色综合播放一区二区| 国产精品天干天干在观线| 在线免费观看日韩欧美| 久久精品99国产精品| 日本一区二区视频在线观看| 色综合久久66| 麻豆精品久久精品色综合| 国产视频一区二区在线| 在线观看一区二区精品视频| 日韩精品电影一区亚洲| 国产日产欧美一区二区三区| 欧美在线免费观看亚洲| 青青草伊人久久| 国产精品美女久久久久aⅴ| 欧美视频完全免费看| 蜜臀av性久久久久蜜臀aⅴ| 欧美国产成人精品| 欧美美女激情18p| 大白屁股一区二区视频| 亚洲成人久久影院| 国产性色一区二区| 欧美精品丝袜久久久中文字幕| 国产在线观看免费一区| 亚洲一线二线三线视频| 久久精品亚洲精品国产欧美kt∨| 欧美视频中文字幕| 国产风韵犹存在线视精品| 性久久久久久久久久久久| 国产精品欧美经典| 欧美一区二区三区在线观看| 99久久精品免费看| 久久爱www久久做| 亚洲国产一区二区三区| 欧美国产亚洲另类动漫| 91精品国产综合久久精品| 成人午夜视频免费看| 蜜桃一区二区三区在线观看| 国产精品私人自拍| 欧美精选一区二区| 一本久久a久久免费精品不卡| 国产最新精品免费| 天堂蜜桃91精品| 一区二区三区四区不卡视频| 国产校园另类小说区| 日韩欧美中文一区二区| 欧美在线一二三| 97久久久精品综合88久久| 激情久久五月天| 日韩二区三区在线观看| 一区二区三区欧美亚洲| 国产精品久久久久一区二区三区| 欧美精品一区二区三区在线| 欧美精品久久99| 欧美性色黄大片手机版| 99久久免费精品| 成人免费视频网站在线观看| 国产一区在线视频| 九九久久精品视频| 日韩av中文字幕一区二区| 亚洲国产精品久久不卡毛片| 中文字幕一区二区三区蜜月| 欧美极品xxx| 久久毛片高清国产| 欧美成人免费网站| 日韩精品一区二区三区四区视频| 欧美日韩高清一区二区不卡| 日本电影亚洲天堂一区| 色综合天天综合色综合av| 成人av电影在线网| 国产999精品久久久久久| 国产精品白丝jk白祙喷水网站 |