Delphi下的GetWindow引數的問題

2023-01-04 07:00:18 字數 3171 閱讀 3721

1樓:匿名使用者

getwindow 函式功能:該函式返回與指定視窗有特定關係(如z序或所有者)的視窗控制代碼。

函式原型:hwnd getwindow(hwnd hwnd,unit ncmd);

引數:hwnd:視窗控制代碼。要獲得的視窗控制代碼是依據ncmd引數值相對於這個視窗的控制代碼。

ncmd:說明指定視窗與要獲得控制代碼的視窗之間的關係。該引數值可以是下列之一:

gw_child:如果指定視窗是父視窗,則獲得的是在z序頂端的子視窗的控制代碼,否則為null。函式僅檢查指定父視窗的子視窗,不檢查繼承視窗。

gw_enabledpoup:(windowsnt 5.0)返回的控制代碼標識了屬於指定視窗的處於使能狀態彈出式視窗(檢索使用第一個由gw_hwndnext 查詢到的滿足前述條件的視窗);如果無使能視窗,則獲得的控制代碼與指定視窗相同。

gw_hwndfirst:返回的控制代碼標識了在z序最高階的相同型別的視窗。如果指定視窗是最高階視窗,則該控制代碼標識了在z序最高階的最高階視窗;如果指定視窗是頂層視窗,則該控制代碼標識了在z序最高階的頂層視窗:

如果指定視窗是子視窗,則控制代碼標識了在z序最高階的同屬視窗。

gw_hwndlast:返回的控制代碼標識了在z序最低端的相同型別的視窗。如果指定視窗是最高階視窗,則該柄標識了在z序最低端的最高階視窗:

如果指定視窗是頂層視窗,則該控制代碼標識了在z序最低端的頂層視窗;如果指定視窗是子視窗,則控制代碼標識了在z序最低端的同屬視窗。

gw_hwndnext:返回的控制代碼標識了在z序中指定視窗下的相同型別的視窗。如果指定視窗是最高階視窗,則該控制代碼標識了在指定視窗下的最高階視窗:

如果指定視窗是頂層視窗,則該控制代碼標識了在指定視窗下的頂層視窗;如果指定視窗是子視窗,則控制代碼標識了在指定視窗下的同屬視窗。

gw hwndprev:返回的控制代碼標識了在z序中指定視窗上的相同型別的視窗。如果指定視窗是最高階視窗,則該控制代碼標識了在指定視窗上的最高階視窗;如果指定視窗是頂層視窗,則該控制代碼標識了在指定視窗上的頂層視窗;如果指定視窗是子視窗,則控制代碼標識了在指定視窗上的同屬視窗。

gw_owner:返回的控制代碼標識了指定視窗的所有者視窗(如果存在)。

返回值:如果函式成功,返回值為視窗控制代碼;如果與指定視窗有特定關係的視窗不存在,則返回值為null。

若想獲得更多錯誤資訊,請呼叫getlasterror函式。

備註:在迴圈體中呼叫函式enumchildwindow比呼叫getwindow函式可靠。呼叫getwindow函式實現該任務的應用程式可能會陷入死迴圈或退回一個已被銷燬的視窗控制代碼。

速查:windows nt:3.

1以上版本;windows:95以上版本;windows ce:1.

0以上版本;標頭檔案:winuser.h;庫檔案:

user32.lib。

2樓:匿名使用者

你一個引數就是 視窗的控制代碼。一個唯一可以標示一個視窗的修飾符。是一個 正整數

可以通過findwindow來找

第二個引數 是關係的修飾符而已。

比如說:

第一個引數 是 你

第二個引數 是 兒子

結果你沒有兒子 就返回0 ,如果有個兒子 就返回你兒子的名字。

findwindow 找不到視窗

3樓:俱懷逸興壯思飛欲上青天攬明月

解決方法:

在呼叫findwindow函式的時候,應該第一個引數為空,第二個引數為視窗的標題名。classname是視窗在建立時的註冊名稱,不是源**的類名,通常可以不指定,除非確切地知道。另外,vc自帶一個spy++的工具,可以探查當前所有視窗的資訊,包括註冊類名。

findwindow這個函式檢索處理頂級視窗的類名和視窗名稱匹配指定的字串。這個函式有兩個引數,第一個是要找的視窗的類,第二個是要找的視窗的標題。在搜尋的時候不一定兩者都知道,但至少要知道其中的一個。

4樓:

可以找到,**沒什麼問題

delphi中createpipe的四個引數分別是啥意思啊?

5樓:匿名使用者

bool createpipe(

phandle hreadpipe,

phandle hwritepipe,

lpsecurity_attributes lppipeattributes,

dword nsize

);這是一個windows api,和delphi沒有關係第一個引數:接受管道的讀控制代碼的變數

第二個:接受管道寫控制代碼的變數

第三個是指向一個管道屬性資料結構的指標,也就是結構體首地址,在delphi中@是取變數首地址的操作符

第四個是管道緩衝的大小

查msdn,有更詳細的說明

6樓:

兄弟幫幫忙!

7樓:匿名使用者

createpipe()的函式原型為:

bool createpipe(phandle hreadpipe, // 指向讀控制代碼的指標

phandle hwritepipe, // 指向寫控制代碼的指標

lpsecurity_attributes lppipeattributes, // 指向安全屬性的指標

dword nsize // 管道大小

);createpipe函式建立匿名管道,該函式在建立匿名管道的同時返回兩個控制代碼:管道讀控制代碼和管道寫控制代碼。

函式說明:

說明建立一個匿名管道

返回值long,非零表示成功,零表示失敗。會設定getlasterror

參數列引數 型別及說明

phreadpipe long,指定一個 變數,設為管道讀入(輸出)端的一個控制代碼

phwritepipe long,指定一個 變數,設為管道寫入(輸入)端的一個控制代碼

lppipeattributes security_attributes,指定一個security_attributes結構,或者傳遞零值(將引數宣告為byval as long,並傳遞零值),以便使用不允許繼承的一個預設描述符

nsize long,管道緩衝區的建議大小。零表示用預設值

註解匿名管道不允許非同步操作,所以如在一個管道中寫入資料,且緩衝區已滿,那麼除非另一個程序從管道中讀出資料,從而騰出了緩衝區的空間,否則寫入函式不會返回

delphi的版本是,delphi的最新版本是?

embarcadero rad studio xe 在2011年推出的rad studio xe以及delphi xe除了繼續推出原生win32下最尖端的技術之外,更特別的重視大幅增加開發人員的生產力。在最尖端的技術方面 支援雲端計算的開發工作 強化的多層開發技術,支援更多的通訊協定,提供加密,壓縮...

delphi的dbgrid排序問題

建議使用adoconnection,adoquery,dbgrid的方式,你說的這種方式沒用過 何必自己寫 你可以用ehlib啊 裡面的dbgrideh又很多很好的功能 asp.net的連線資料庫然後顯示是麼?delphi高手進,如何改變dbgrid列的標題 雙擊dbgride新增列.然後寫上cap...

Delphi中提取系統時間的函式

1 函式描述 在delphi中提取系統時間的函式為time 函式。2 函式定義 time 函式返回當前系統時間的 unix 時間戳。3 函式語法 time void 4 函式舉例 輸入 nextweek time 7 24 60 60 7 days 24 hours 60 mins 60secs e...