一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

API技巧集(三)

OBEason ? 來(lái)源:jf_88563726 ? 作者:jf_88563726 ? 2023-05-23 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

(一)閃爍程序的標(biāo)題欄

在某些專(zhuān)業(yè)的應(yīng)用程序中,當(dāng)程序需要提醒用戶(hù)或要引起用戶(hù)的注意時(shí),就不停地閃爍程序的標(biāo)題欄。要實(shí)現(xiàn)這個(gè)功能,只需要一個(gè)Timer組件和使用一個(gè)API函數(shù)--FlashWindow。

使用API函數(shù)FlashWindow可以閃爍顯示指定窗口,讓窗口在活動(dòng)與非活動(dòng)的狀態(tài)之間切換,它有兩個(gè)參數(shù):hwnd和bInvert,頭文件為“winuser.h”。其中,參數(shù)hwnd為要閃爍的窗口句柄,參數(shù)bInvert是一個(gè)bool變量,設(shè)為true時(shí),程序窗口標(biāo)題欄從活動(dòng)切換到非活動(dòng)狀態(tài)、或反向切換,當(dāng)設(shè)為false時(shí),窗口標(biāo)題欄還原為最初的狀態(tài)。如果配合一個(gè)時(shí)間組件(Timer組件),以一定的時(shí)間間隔執(zhí)行語(yǔ)句:

FlashWindow( Form1-$#@62;Handle,true);

程序窗口的標(biāo)題欄就在活動(dòng)、非活動(dòng)的狀態(tài)之間不停地切換。若把hwnd指定成為應(yīng)用程序的句柄( Application-$#@62;Handel),將會(huì)閃爍程序在任務(wù)欄上的標(biāo)題欄。

下面就讓我們來(lái)做一個(gè)閃爍窗口標(biāo)題欄和任務(wù)欄上標(biāo)題欄的程序。

首先,在Form1中添加三個(gè)按鈕Button1、Button2和Button3,把它們的屬性分別為“閃爍窗口標(biāo)題欄”、“閃爍任務(wù)標(biāo)題欄”和“停止閃爍”,再加入兩個(gè)時(shí)間組件Timer1和Timer2,將兩個(gè)Timer組件的Enabled屬性都設(shè)為false,將Interval屬性都設(shè)為為500(即半秒),改變這個(gè)屬性的值可以修改閃爍的頻率。

然后,雙擊Timer1,在OnTimer事件中加入:

FlashWindow( Form1-$#@62;Handle,true);

雙擊Timer2,在OnTimer事件中加入:

FlashWindow( Application-$#@62;Handel,true);

雙擊Button1,在Button1的OnClick事件中加入:

Timer1-$#@62;Enabled=true;

雙擊Button2,在Button2的OnClick事件中加入:

Timer2-$#@62;Enabled=true;

最后,雙擊Button3,在Button3的OnClick事件中加入:

Timer1-$#@62;Enabled=false;

Timer2-$#@62;Enabled=false;

FlashWindow( Form1-$#@62;Handle,false);

FlashWindow( Application-$#@62;Handel,false);

這樣,一個(gè)簡(jiǎn)單的例子就完成了。按F9編譯運(yùn)行程序,你就可閃爍窗口標(biāo)題欄或是閃爍任務(wù)欄上? 題欄了。

(二)拖動(dòng)無(wú)標(biāo)題窗體

現(xiàn)在的Windows應(yīng)用程序,大都使用了圖形化的界面、不規(guī)則窗口技術(shù),使得程序界面更加漂亮了。但是,使用界面一般要先把窗體的標(biāo)題欄去掉(在BCB中,將窗體的BorderStyle屬性設(shè)為bsNone,就可以把窗體的標(biāo)題欄去掉),這樣就不能使用原來(lái)的標(biāo)題欄了,出現(xiàn)了窗口不能移動(dòng)的問(wèn)題。沒(méi)有標(biāo)題欄怎樣用鼠標(biāo)拖動(dòng)窗體呢?我們可以使用Windows的API函數(shù)SendMessage來(lái)解決這個(gè)問(wèn)題。

首先,新建一個(gè)工程,把窗體的BorderStyle屬性設(shè)為bsNone去掉窗體的標(biāo)題欄,按F12鍵切換到代碼編輯窗口,在頭部加入包含頭文件"winuser.h"的代碼:

#include $#@60;winuser.h$#@62;

然后,在窗體的 OnMouseDown 事件中加入下面的代碼:

if(Button == mbLeft)//判斷是否按了鼠標(biāo)左鍵

{

ReleaseCapture();//釋放鼠標(biāo)操作

SendMessage( Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);

}

這樣,用鼠標(biāo)左鍵點(diǎn)住窗口拖動(dòng),就可以實(shí)現(xiàn)拖動(dòng)沒(méi)有標(biāo)題的窗口了。也可以在窗體上添加組件,然后在該組件的 OnMouseDown 事件中加入上面的代碼,這樣也可以點(diǎn)住這個(gè)組件拖動(dòng)窗口。你還可以把SendMessage函數(shù)的第一個(gè)參數(shù)修改為這個(gè)組件的句柄,如:往窗體添加一個(gè)Button組件,在它的 OnMouseDown 事件中加入上面的代碼,其中把SendMessage那行語(yǔ)句改為:

SendMessage( Button1-$#@62;Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);

這樣就可以在程序運(yùn)行時(shí),用鼠標(biāo)在窗口的范圍內(nèi)移動(dòng)Button1了。

(三)隱藏程序在任務(wù)欄的圖標(biāo)

使用API函數(shù)ShowWindow可以隱藏一個(gè)程序在任務(wù)欄的圖標(biāo),它被包含在頭文件“winuser.h”里面。

1、隱藏任務(wù)欄圖標(biāo)的代碼就是:

ShowWindow( Application-$#@62;Handle, SW_HIDE);

2、要重新顯示的時(shí)候就使用:

ShowWindow( Application-$#@62;Handle, SW_SHOW);

但是,如果將程序最小化后,在任務(wù)欄的圖標(biāo)就會(huì)重新出現(xiàn)。若要在程序還原最小化后,程序在任務(wù)欄的圖標(biāo)重新被隱藏起來(lái),可以在窗體的OnPaint事件中加入隱藏程序在任務(wù)欄的圖標(biāo)的代碼,這樣,程序只有在最小化時(shí)任務(wù)欄才會(huì)出現(xiàn)圖標(biāo),當(dāng)程序還原最小化時(shí)圖標(biāo)又會(huì)重新被隱藏起來(lái)。

(四)重啟、關(guān)閉Windows

當(dāng)用戶(hù)修改了Windows里面的一些設(shè)置,Windows經(jīng)常會(huì)提問(wèn)是否要重新啟動(dòng)計(jì)算機(jī),當(dāng)用戶(hù)點(diǎn)Yes的時(shí)候,計(jì)算機(jī)將會(huì)自動(dòng)重啟。這個(gè)就是API函數(shù)ExitWindowsEx的一個(gè)典型的應(yīng)用。

ExitWindowsEx,顧名思義就是退出Windows的函數(shù),它有兩個(gè)參數(shù),第一個(gè)是退出Windows的選項(xiàng),常用的有:EWX_REBOOT(重新啟動(dòng)計(jì)算機(jī)),EWX_SHUTDOWN(關(guān)閉計(jì)算機(jī)),EWX_LOGOFF(注銷(xiāo)當(dāng)前用戶(hù)),第二個(gè)參數(shù)系統(tǒng)保留沒(méi)有使用,可設(shè)為0。

在自編的程序中(如:注冊(cè)表修改程序),當(dāng)用戶(hù)修改了某項(xiàng)設(shè)置需要重新啟動(dòng)計(jì)算機(jī)的時(shí)候,就要使用EWX_REBOOT選項(xiàng)重啟計(jì)算機(jī)。如:

ExitWindowsEx(EWX_REBOOT,0);

使用WX_SHUTDOWN選項(xiàng),可以實(shí)現(xiàn)關(guān)機(jī)。如:

ExitWindowsEx(EWX_SHUTDOWN,0);

當(dāng)需要注銷(xiāo)的時(shí)候,就使用EWX_LOGOFF選項(xiàng)。如:

ExitWindowsEx(EWX_LOGOFF,0);


審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1571

    瀏覽量

    63773
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙開(kāi)發(fā)API9 到 API12,有哪些不同

    ,可以從一些第方網(wǎng)站中下載 二、Model API9支持Stage模型和FA模型兩種,API12已經(jīng)移除了相關(guān)選擇,默認(rèn)就是Stage模型 ?? 、卡片 卡片也屬于畢設(shè)中的創(chuàng)新功能
    發(fā)表于 06-29 22:47

    設(shè)計(jì)優(yōu)先方法論實(shí)踐:SmartBear API Hub +ReadyAPI組合使用,構(gòu)建高效的API開(kāi)發(fā)流

    設(shè)計(jì)優(yōu)先是一種在編寫(xiě)代碼和執(zhí)行測(cè)試之前,優(yōu)先設(shè)計(jì)API接口的開(kāi)發(fā)方式,能夠幫助提升團(tuán)隊(duì)協(xié)作效率、加快開(kāi)發(fā)進(jìn)度、減少Bug和返工,并改善用戶(hù)體驗(yàn)。如何實(shí)現(xiàn)?——將該與SmartBear API Hub、ReadyAPI相結(jié)合,可共同構(gòu)建一個(gè)完整、一體化的開(kāi)發(fā)工作流,幫助高效
    的頭像 發(fā)表于 06-05 16:03 ?163次閱讀
    設(shè)計(jì)優(yōu)先方法論實(shí)踐:SmartBear <b class='flag-5'>API</b> Hub +ReadyAPI組合使用,構(gòu)建高效的<b class='flag-5'>API</b>開(kāi)發(fā)流

    如何獲取 OpenAI API Key?API 獲取與代碼調(diào)用示例 (詳解教程)

    OpenAI API Key 獲取與使用詳解:從入門(mén)到精通 OpenAI 正以其 GPT 和 DALL-E 等先進(jìn)模型引領(lǐng)全球人工智能創(chuàng)新。其 API 為開(kāi)發(fā)者和企業(yè)提供了強(qiáng)大的 AI 能力集成途徑
    的頭像 發(fā)表于 05-04 11:42 ?1105次閱讀
    如何獲取 OpenAI <b class='flag-5'>API</b> Key?<b class='flag-5'>API</b> 獲取與代碼調(diào)用示例 (詳解教程)

    RAGFlow中配置MaaS API使用指導(dǎo)

    RAGFlow中配置MaaS API使用指導(dǎo)
    的頭像 發(fā)表于 04-19 13:40 ?958次閱讀
    RAGFlow中配置MaaS <b class='flag-5'>API</b>使用指導(dǎo)

    集成API設(shè)計(jì)+測(cè)試+文檔管理,全新一站式解決方案SmartBear API Hub功能介紹

    SmartBear全新推出API Hub,助力高效應(yīng)對(duì)API開(kāi)發(fā)挑戰(zhàn)! API Hub專(zhuān)為API開(kāi)發(fā)者、架構(gòu)師、產(chǎn)品經(jīng)理和QA團(tuán)隊(duì)打造,將設(shè)計(jì)、測(cè)試、治理和文檔集成到一個(gè)單一平臺(tái)中,帶
    的頭像 發(fā)表于 04-08 17:52 ?300次閱讀
    集成<b class='flag-5'>API</b>設(shè)計(jì)+測(cè)試+文檔管理,全新一站式解決方案SmartBear <b class='flag-5'>API</b> Hub功能介紹

    Claude 3.7:編碼助手首選,claude api key如何申請(qǐng)獲取與深度解析*

    核心看點(diǎn) 混合推理引擎 :Claude 3.7 融合快速代碼生成與深度問(wèn)題解決能力,實(shí)現(xiàn)“快思考”與“深思考”的無(wú)縫切換。 便捷API訪問(wèn) :步快速獲取Claude 3.7 API密鑰,安全、簡(jiǎn)單
    的頭像 發(fā)表于 03-24 09:43 ?909次閱讀
    Claude 3.7:編碼助手首選,claude <b class='flag-5'>api</b> key如何申請(qǐng)獲取與深度解析*

    openai api key獲取的種方案(有一種可以白嫖到 api key)

    OpenAI API Key 全攻略:官方獲取、費(fèi)用詳解與“白嫖”實(shí)戰(zhàn) 引言: 想要體驗(yàn) OpenAI 強(qiáng)大的 GPT 模型,卻苦于沒(méi)有 API Key?別擔(dān)心,本文將為你提供一份詳盡
    的頭像 發(fā)表于 02-24 22:16 ?9378次閱讀
    openai <b class='flag-5'>api</b> key獲取的<b class='flag-5'>三</b>種方案(有一種可以白嫖到 <b class='flag-5'>api</b> key)

    芯盾時(shí)代入選《API安全技術(shù)應(yīng)用指南(2024版)》API安全十大代表性廠商

    近日,國(guó)內(nèi)知名網(wǎng)絡(luò)安全媒體安全牛正式發(fā)布《API安全技術(shù)應(yīng)用指南(2024版)》報(bào)告,幫助用戶(hù)更好地開(kāi)展API安全規(guī)劃和安全建設(shè),并提供有效的API安全框架、產(chǎn)品方案、廠商選擇建議。芯盾時(shí)代作為領(lǐng)先
    的頭像 發(fā)表于 12-18 11:04 ?1137次閱讀
    芯盾時(shí)代入選《<b class='flag-5'>API</b>安全技術(shù)應(yīng)用指南(2024版)》<b class='flag-5'>API</b>安全十大代表性廠商

    IP風(fēng)險(xiǎn)畫(huà)像詳細(xì)接入規(guī)范、API參數(shù)(Ipdatacloud)

    的風(fēng)險(xiǎn)行為標(biāo)簽、代理、真人率、秒撥概率等風(fēng)險(xiǎn)特征和潛在風(fēng)險(xiǎn)。 數(shù)據(jù)示例: 產(chǎn)品的詳細(xì)接入文檔、API參數(shù)如下: 接口地址:https://api.ipdatacloud.com 請(qǐng)求方式 輸出
    的頭像 發(fā)表于 11-15 11:11 ?773次閱讀
    IP風(fēng)險(xiǎn)畫(huà)像詳細(xì)接入規(guī)范、<b class='flag-5'>API</b>參數(shù)(Ipdatacloud)

    api驅(qū)動(dòng)的云服務(wù)是什么意思?

    API驅(qū)動(dòng)的云服務(wù)是指利用API技術(shù)來(lái)驅(qū)動(dòng)和提供云服務(wù)的模式。在這種模式下,云服務(wù)提供商會(huì)公開(kāi)一系列的API接口,允許開(kāi)發(fā)者或應(yīng)用程序通過(guò)調(diào)用這些API來(lái)實(shí)現(xiàn)對(duì)云服務(wù)的訪問(wèn)和操作。
    的頭像 發(fā)表于 11-14 10:06 ?537次閱讀

    華納云:使用 WireMock 在開(kāi)發(fā)和測(cè)試中模擬 API 服務(wù)

    在本地開(kāi)發(fā)和測(cè)試期間,經(jīng)常會(huì)遇到您的應(yīng)用依賴(lài)于遠(yuǎn)程 API 的情況。網(wǎng)絡(luò)問(wèn)題、速率限制,甚至 API 提供商的停機(jī)都可能阻礙您的進(jìn)度。這會(huì)嚴(yán)重影響您的工作效率并使測(cè)試更具挑戰(zhàn)性。這就
    的頭像 發(fā)表于 10-25 16:46 ?815次閱讀

    API :軟件程序間溝通的橋梁

    或許我們不清楚API是什么,但在現(xiàn)實(shí)生活中,API的應(yīng)用場(chǎng)景卻遠(yuǎn)遠(yuǎn)超出了我們的想象。舉個(gè)例子來(lái)說(shuō),當(dāng)我們想要搜索某個(gè)IP地址時(shí),通常是利用API與離線庫(kù)兩種方式去獲取數(shù)據(jù)信息,那么或許你會(huì)疑惑到底
    的頭像 發(fā)表于 08-27 15:54 ?532次閱讀

    全球視野下的API資源,看冪簡(jiǎn)集成如何整合國(guó)內(nèi)外API

    在全球數(shù)字化浪潮的推動(dòng)下,API(應(yīng)用程序編程接口)已成為連接不同系統(tǒng)和數(shù)據(jù)的橋梁,是企業(yè)數(shù)字化轉(zhuǎn)型的關(guān)鍵。全球各地的企業(yè)都在進(jìn)行數(shù)字化轉(zhuǎn)型,它們不約而同地尋求通過(guò)API快速集成新技術(shù),以提高效率
    的頭像 發(fā)表于 07-30 14:23 ?523次閱讀
    全球視野下的<b class='flag-5'>API</b>資源,看冪簡(jiǎn)集成如何整合國(guó)內(nèi)外<b class='flag-5'>API</b>

    鴻蒙元服務(wù)API全新呈現(xiàn)-開(kāi)發(fā)更清晰高效

    鴻蒙元服務(wù)API全新呈現(xiàn),開(kāi)發(fā)更清晰高效,具體見(jiàn)如下截圖,深黑色部分即本階段公布支持的元服務(wù)API。 本材料整理來(lái)源于HarmonyOS NEXT Developer Beta1官
    發(fā)表于 07-11 10:23

    如何理解機(jī)器學(xué)習(xí)中的訓(xùn)練、驗(yàn)證和測(cè)試

    理解機(jī)器學(xué)習(xí)中的訓(xùn)練、驗(yàn)證和測(cè)試,是掌握機(jī)器學(xué)習(xí)核心概念和流程的重要一步。這者不僅構(gòu)成了模型學(xué)習(xí)與評(píng)估的基礎(chǔ)框架,還直接關(guān)系到模型性能的可靠性和泛化能力。以下是一篇深入探討這
    的頭像 發(fā)表于 07-10 15:45 ?6723次閱讀