SHELLEXECUTEINFO 結構詳解

2021-07-27 17:31:02 字數 3542 閱讀 9402

typedef

} shellexecuteinfo, *lpshellexecuteinfo;

在c#中其結構為

public

struct

shellexecuteinfo

//用於

shellexecuteex

引數詳解:

cbsize

儲存該結構的長度,以位元組為單位。

fmask

乙個標誌陣列,用來設定其他成員的有效性

see_mask_classkey          0x3

see_mask_classname          0x1

see_mask_connectnetdrv      0x80

see_mask_doenvsubst          0x200

see_mask_flag_ddewait      0x100

see_mask_flag_log_usage      0x4000000

see_mask_flag_no_ui          0x400

see_mask_hmonitor          0x200000

see_mask_hotkey          0x20

see_mask_icon              0x10

see_mask_idlist          0x4

see_mask_invokeidlist      0xc

see_mask_noasync          0x100000

see_mask_nocloseprocess      0x40

see_mask_nozonechecks      0x800000

see_mask_no_console          0x8000

see_mask_unicode          0x100000

see_mask_fileandurl          0x4000000

hwnd

呼叫這個

shellexecuteex

的視窗控制代碼

lpverb

設定這個

shellexecuteex

的動作,包括:

edit

開啟編輯器編輯文件,如果 lpfile 

不是乙個文件,則這個函式會失敗

explore

以 lpfile 

為路徑開啟資源管理器

find

從指定目錄開始搜尋

open

根據lpfile 

開啟對應檔案,該檔案可以為可執行檔案、文件或者資料夾

print

根據lpfile 

列印文件,若

lpfile

不是乙個文件則該函式會失敗

properties

顯示檔案或資料夾的屬性

lpfile以\0

結尾的字串,指出

lpverb

的操作物件的路徑,被系統支援的操作包括文字的

open

、print

等,其中

print

要求必須有乙個已經註冊的印表機,而其他種類的文件會通過系統關聯進行查詢執行。若要設定乙個空的

namespace

,則需要設定

fmask

的值為see_mask_invokeidlist

。注意:若

see_mask_invokeidlist

已設定,則可以藉由

lpfile

或者lpidlist

確定item

的系統路徑或者

pidl

lpparameters執行/

開啟程式的引數,如果開啟的是乙個文件,則該項無效

lpdirectory

指明工作目錄的名字,成員沒有說明,則預設為當前目錄

nshow

說明shellexecuteex

開啟的程式將以什麼形式出現

如果函式執行成功,該項的值將大於

32,否則會是下列錯誤對應的值

se_err_fnf 

沒有找到檔案

se_err_pnf

沒有找到路徑

se_err_accessdenied 

拒絕訪問

se_err_oom 

記憶體不足

se_err_dllnotfound 

沒有找到動態鏈結庫

se_err_share 

不能操作乙個以開啟的檔案

se_err_associncomplete 

檔案關聯資訊不完整

se_err_ddetimeout 

dde操作超時

se_err_ddefail 

dde操作失敗

se_err_ddebusy 

dde繁忙

se_err_noassoc 

沒有找到檔案關聯

lpidlist

乙個itemidlist

結構的位址,用來儲存成員的特別識別符號,當

fmask

不包括see_mask_idlist

或see_mask_invokeidlist

時該項被忽略

lpclass

用以指明檔案類別的名字或

guid

,當fmask

不包括see_mask_classname

時該項被忽略

hkeyclass

獲得已在系統註冊的檔案型別的

handle

,當fmask

不包括see_mask_classkey

時該項被忽略

dwhotkey

程式的熱鍵關聯,低位儲存虛擬關鍵碼(

key code

),高位儲存修改標誌位

(hotkeyf_)

,修改標誌為(

modifier flags

)的詳細列表請看

wm_sethotkey

訊息的描述,當

fmask

不包括see_mask_hotkey

時該項被忽略

dummyunionname 

hicon 

取得對應檔案型別的圖示的

handle

,當fmask

不包括see_mask_icon

時該項被忽略

hmonitor 

將文件顯示在顯示器上的

handle

,當fmask

不包括see_mask_hmonitor

時該項被忽略

hprocess

用於進行

return

操作的成員,若

fmask

不設為see_mask_nocloseprocess

則該項值為

null

,即使fmask

設為see_mask_nocloseprocess

,若沒有程序啟動,該項值仍為

null

。即沒有新的程序啟動,則該項值乙隻為

null 。

SHELLEXECUTEINFO 結構詳解

typedef shellexecuteinfo,lpshellexecuteinfo 在c 中其結構為 public struct shellexecuteinfo 用於 shellexecuteex 引數詳解 cbsize 儲存該結構的長度,以位元組為單位。fmask 乙個標誌陣列,用來設定其他...

mysql多索引結構 MySQL 索引結構詳解

innodb的主鍵索引 primary key 是cluster形式的 聚簇索引 innodb的非主鍵索引 secondary index 是普通的b tree索引。兩種索引在root node和branch node是一樣的,在leaf node就不一樣了。primary key存放的是表的實際資...

becon幀 wifi Wi Fi協議幀結構詳解1

要想理解wi fi的真正工作原理,除了了解前面我寫的wi fi網路結構,網路連線過程,還需要詳細了解wi fi的幀結構。wi fi幀的分類 wi fi的幀從大類上分為三類 1.資料幀 資料幀,顧名思義,就是我們在聯網中要傳輸的資料,就好比公路運輸中要運輸的貨物。2.控制幀 功能 控制幀通常與資料幀搭...