幾個常用的API在c 中的定義

2022-01-30 04:54:00 字數 3535 閱讀 7403

最近乙個專案中用到的一些api,在解決一些實際的問題上(特別是和外部程式打交道)的時候還是蠻有用的。具體的引數什麼的網上都有!

**

public

class

api}

public

intheight}}

//////

獲得包含指定點的視窗的控制代碼

//////

乙個被檢測的點的point結構

///[dllimport(

"user32.dll ")]

public

static

extern

intptr windowfrompoint(point p);

//////

獲得視窗文字

//////

///用來儲存文字的stringbuilder

///stringbuilder的容量

///[dllimport(

"user32.dll")]

public

static

extern

intgetwindowtext(intptr hwnd, stringbuilder lpstring,

intnmaxcount);

public

delegate

bool

enumwindowsproc(intptr hwnd, intptr lparam);

//////

列舉所有控制項

//////

//////

[dllimport(

"user32.dll")]

public

static

extern

intenumwindows(enumwindowsproc lpenumfunc, intptr lparam);

#endregion

#region

訊息函式

//傳送訊息的型別(第二個引數)

public

const

intwm_keydown

=0x100

;public

const

intwm_keyup

=0x101

;public

const

intwm_char

=0x102

;///

///傳送訊息,等待返回

//////

窗體控制代碼

///被傳送的訊息型別(如鍵盤按下訊息,字元訊息等等)

///附加的訊息指定資訊

///附加的訊息指定資訊

///[dllimport(

"user32.dll

", entrypoint ="

sendmessage

", setlasterror

=true

, charset

=charset.unicode)]

public

static

extern

intptr sendmessage(intptr hwnd,

intwmsg,

intwparam,

intlparam);

[dllimport(

"user32.dll

", entrypoint ="

postmessage

", setlasterror

=true

)]public

static

extern

intptr postmessage(intptr hwnd,

intwmsg,

intwparam,

intlparam);

#endregion

#region

滑鼠函式

[dllimport(

"user32.dll

", entrypoint ="

setcursorpos")]

internal

extern

static

intsetcursorpos(

intx,

inty);

///使用範例: api.mouse_event(0x2 | 0x4, x,y, 0, 0); 在(x,y)處單擊一下

public

readonly

intmouseeventf_leftdown

=0x2

;public

readonly

intmouseeventf_leftup

=0x4

;[dllimport(

"user32.dll")]

public

static

extern

void

mouse_event(

intdwflags,

intdx,

intdy,

intdwdata,

intdwextrainfo);

#endregion

#region

鍵盤函式

public

static

intkeyeventf_extendedkey

=0x0001

;public

static

intkeyeventf_keyup

=0x0002

;public

static

byte

vk_lwin

=0x5b

;[dllimport(

"user32.dll

", entrypoint ="

keybd_event")]

public

static

extern

void

keybd_event(

byte

bvk,

byte

bscan,

intdwflags,

intdwextrainfo

);#endregion

#region

自繪函式

//////

獲得視窗指定點處的控制代碼

//////

主窗體控制代碼

///該點相對於主窗體上邊框的距離

///該點相對於主窗體左邊框的距離

///public

static

intptr getwinpartfrompoint(intptr hwnd,

inttop,

intleft)

//////

到某處單擊一下返回

//////

原來的滑鼠地點x

//////

目標地點x

///public

static

void

clickposition(

intox,

intoy,

intx,

inty)

#endregion

}

常用的幾個網路api

1.通過 獲取ip 標頭檔案struct hostent gethostbyname const char name 返回乙個目的主機的結構體 struct hostent define h addr h addr list 0 儲存的是ip位址 h addr 儲存了目的主機的ip不好意思他是乙個網...

c 在類中定義常量的幾個做法

用下面的乙個問題來說明。問題 在類中建立乙個int型別的陣列 方法一 錯誤 class test 錯誤原因 1 因為在乙個類中,const恢復了它在c中的一部分意思,在每個類物件裡分配儲存並代表乙個值,這個值一旦被初始化以後就不能被改變。所以在類中使用了const的意思是 在這個物件的生命週期內,它...

vue中幾個我常用的全域性API

在使用vue框架做前端開發時,時長會對資料做些動態處理,以下是我最常用的幾個vue全域性api 1.vue.set 為物件新增屬性 官方解釋 向響應式物件中新增乙個屬性,並確保這個新屬性同樣是響應式的,且觸發檢視更新。它必須用於向響應式物件上新增新屬性,因為 vue 無法探測普通的新增屬性 使用方式...