Delphi原生Windows程式

2021-07-31 20:06:12 字數 2364 閱讀 4056

使用windows api編寫原生windows程式:

program project3;

uses

winapi.windows,

winapi.messages,

system.sysutils;

const

function

windowproc

(window : hwnd; amessage : uint; wparam : wparam; lparam : lparam) : lresult; stdcall; export;

var dc : hdc;

ps : tpaintstruct;

r : trect;

begin

windowproc := 0;

case amessage of

wm_paint:

begin

dc := beginpaint(window, ps);

getclientrect(window, r);

drawtext(dc, '原始windows程式!', -1, r, dt_singleline or dt_center or dt_vcenter);

endpaint(window, ps);

exit;

end;

wm_destroy:

begin

postquitmessage(0);

exit;

end;

end;

windowproc := defwindowproc(window, amessage, wparam, lparam);

end;

function

winregister:boolean;

var windowclass : wndclass;

begin

//定義視窗類的內容

windowclass.style := cs_hredraw or cs_vredraw;

windowclass.lpfnwndproc := tfnwndproc(@windowproc);

windowclass.cbcl***tra := 0;

windowclass.cbwndextra := 0;

windowclass.hinstance := system.maininstance;

windowclass.hcursor := loadcursor(0, idc_arrow);

windowclass.hbrbackground := getstockobject(white_brush);

windowclass.lpszmenuname := nil;

//註冊視窗類

result := registerclass(windowclass) <> 0;

end;

function

wincreate : hwnd;

var hwindow : hwnd;

begin

if hwindow <> 0

then

begin

showwindow(hwindow, cmdshow);

showwindow(hwindow, sw_show);

updatewindow(hwindow);

end;

result := hwindow;

end;

var amessage : tmsg;

hwindow : hwnd;

begin

//定義視窗類的內容

//註冊視窗類

//建立視窗

//進入視窗訊息處理迴圈,知道程式結束。

ifnot winregister then

begin

messagebox(0, 'register failed', nil, mb_ok);

exit;

end;

hwindow := wincreate;

if longint(hwindow) = 0

then

begin

messagebox(0, 'wincreate failed', nil, mb_ok);

exit;

end;

while getmessage(amessage, 0, 0, 0) do

begin

translatemessage(amessage);

dispatchmessage(amessage);

end;

halt(amessage.wparam);end.

Delphi開發Windows服務程式

開發步驟 2 現在乙個服務程式的框架已經搭起來了 開啟service1視窗,有幾個屬性說明一下 allowpause 是否允許暫停 allowstop 是否允許停止 dependencies 設定服務的依存關係,服務的啟動是否依賴於某個服務或者組 displayname 在 服務 視窗顯示的名稱 i...

Delphi開發Windows服務程式

開發步驟 2 現在乙個服務程式的框架已經搭起來了 開啟service1視窗,有幾個屬性說明一下 allowpause 是否允許暫停 allowstop 是否允許停止 dependencies 設定服務的依存關係,服務的啟動是否依賴於某個服務或者組 displayname 在 服務 視窗顯示的名稱 i...

Windows安裝原生的開發環境

1.輸入apache的 9.解壓apache檔案獲取apache24檔案 10.cmd直接執行cd c web apache24 bin httpd.exe 11.正式開始安裝配置apache的環境 define srvroot listen 80監聽80埠號 apache24服務的預設位址 apa...