利用C Winform做Windows系統工作列

2022-07-19 01:12:17 字數 1739 閱讀 8258

最近公司做乙個考試系統,需要乙個答題欄,要求:占用螢幕上方一部分區域,而且始終置頂,當其他視窗最大化時「答題欄」始終置前並且不遮擋最大化視窗的任何部分!就像windows工作列一樣。

最終效果圖如下:

首先,我們必須宣告所需的結構和常量。

我們宣告rect winapi結構如下:

[structlayout(layoutkind.sequential)]

struct

rect

[structlayout(layoutkind.sequential)]

struct

enum abmsg : int

enum abnotify : int

enum abedge : int

接下來,我們宣告需要用到的win32和shell api介面:

[dllimport(

"shell32

", callingconvention =callingconvention.stdcall)]

static

extern

[dllimport(

"user32")]

static

extern

int getsystemmetrics(int

index);

[dllimport(

"user32.dll

", exactspelling = true, charset =system.runtime.interopservices.charset.auto)]

static

extern

bool movewindow(intptr hwnd, int x, int y, int cx, int cy, bool

repaint);

[dllimport(

"user32.dll

", charset =charset.auto)]

static

extern

int registerwindowmessage(string

msg);

private

void

registerbar()

else

}

private

void

absetpos()

else

}else

else

}//abd);

//adjust the rectangle, depending on the edge to which the

//switch

(abd.uedge)

//pass the final bounding rectangle to the system.

abd);

//

//bounding rectangle passed to the system.

movewindow(abd.hwnd, abd.rc.left, abd.rc.top,

abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, true

);}

利用rsync從linux同步到windows

命令裡面的具體引數 說明 a 引數,相當於 rlptgod,r 是遞迴 l 是鏈結檔案,意思是拷貝鏈結檔案 p 表示保持檔案原有許可權 t 保持檔案原有時間 g 保持檔案原有使用者組 o 保持檔案原有屬主 d 相當於塊裝置檔案 z 傳輸時壓縮 p 傳輸進度 v 傳輸時的進度等資訊,和 p有點關係,自...

利用FTP將Linux檔案備份到Windows

windows windows server 2008 linux centos release 5.5 final 首先在windows上安裝好ftp,本人使用的是windows server 2008自帶的iis,安裝過程這裡略過 iis安裝完成後,在 項右擊新增ftp站點,新增乙個單獨用來備份...

原 C winform使用html做介面

一 大家都知道 winform 中有個控制項叫 webbrowser 如果你不知道具體怎麼用 詳細看msdn 都知道了 這裡的它就是主角 準備 現在 我們新建乙個winform專案 在上面放乙個webbrowser 名稱預設 停靠父視窗 在新建乙個html 網頁 名稱 html.htm region...