易語言將電腦任務欄透明化的代碼

今天小編就爲大家分享一篇關於易語言將電腦任務欄透明化的代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

DLL命令表

.版本 2
.DLL命令 尋找頂級窗口, 整數型, "user32", "FindWindowA", , 尋找窗口列表中第一個符合指定條件的頂級窗口(在vb裏使用:FindWindow最常見的一個用途是獲得ThunderRTMain類的隱藏窗口的句柄;該類是所有運行中vb執行程序的一部分。獲得句柄後,可用api函數GetWindowText取得這個窗口的名稱;該名也是應用程序的標題) 找到窗口的句柄。如未找到相符窗口,則返回零。會設置GetLastError
  .參數 窗口類名, 文本型, , 指向包含了窗口類名的空中止(C語言)字串的指針;或設爲零,表示接收任何類
  .參數 窗口標題, 文本型, , 指向包含了窗口文本(或標籤)的空中止(C語言)字串的指針;或設爲零,表示接收任何窗口標題 示例Dim hw&
.DLL命令 設置透明, 整數型, , "SetLayeredWindowAttributes"
  .參數 窗口句柄, 整數型
  .參數 crkey, 整數型
  .參數 alpha, 字節型
  .參數 dwflags, 整數型
.DLL命令 尋找子窗口, 整數型, "user32", "FindWindowExA", , 在窗口列表中尋找與指定條件相符的第一個子窗口 找到的窗口的句柄。如未找到相符窗口,則返回零。會設置GetLastError
  .參數 窗口句柄1, 整數型, , 在其中查找子的父窗口。如設爲零,表示使用桌面窗口(通常說的頂級窗口都被認爲是桌面的子窗口,所以也會對它們進行查找)
  .參數 窗口句柄2, 整數型, , 從這個窗口後開始查找。這樣便可利用對FindWindowEx的多次調用找到符合條件的所有子窗口。如設爲零,表示從第一個子窗口開始搜索
  .參數 欲搜索的類名1, 文本型, , 欲搜索的類名。零表示忽略
  .參數 欲搜索的類名2, 文本型, , 欲搜索的類名。零表示忽略;
.DLL命令 取得窗口, 整數型, "user32", "GetWindow", , 獲得一個窗口的句柄,該窗口與某源窗口有特定的關係 由wCmd決定的一個窗口的句柄。如沒有找到相符窗口,或者遇到錯誤,則返回零值。會設置GetLastError
  .參數 源窗口, 整數型, , 源窗口
  .參數 關係, 整數型, , 指定結果窗口與源窗口的關係,它們建立在下述常數基礎上:;GW_CHILD=5:尋找源窗口的第一個子窗口;GW_HWNDFIRST=0:爲一個源子窗口尋找第一個兄弟(同級)窗口,或尋找第一個頂級窗口;GW_HWNDLAST=1:爲一個源子窗口尋找最後一個兄弟(同級)窗口,或尋找最後一個頂級窗口;GW_HWNDNEXT=2:爲源窗口尋找下一個兄弟窗口;GW_HWNDPREV=3:爲源窗口尋找前一個兄弟窗口;GW_OWNER=4:尋找窗口的所有者;
.DLL命令 取窗體標題, 整數型, , "GetWindowTextA"
  .參數 當前窗口句柄, 整數型
  .參數 窗口標題, 文本型, 傳址
  .參數 標題長度, 整數型
.DLL命令 取窗口標題長度, 整數型, "user32", "GetWindowTextLengthA"
  .參數 窗口句柄, 整數型
.DLL命令 設置窗口標題, 整數型, "user32", "SetWindowTextA", , 設置窗口的標題文字或控件的內容(在vb裏使用:針對vb窗體,應使用caption或text屬性) 非零表示成功,零表示失敗。會設置GetLastError
  .參數 窗口句柄, 整數型, , 要設置文字的窗口的句柄
  .參數 窗口標題, 文本型, , 要設到hwnd窗口中的文字;
.DLL命令 取窗口風格, 整數型, , "GetWindowLongA"
  .參數 hwnd, 整數型
  .參數 nIndex, 整數型
.DLL命令 置窗口風格, 整數型, , "SetWindowLongA"
  .參數 hwnd, 整數型
  .參數 nindex, 整數型
  .參數 hnew, 整數型

任務欄透明化

.版本 2
.程序集 窗口程序集1
.程序集變量 透明度, 整數型
.程序集變量 開始標題, 文本型
.程序集變量 開始句柄, 整數型
.程序集變量 句柄, 整數型
.子程序 __啓動窗口_創建完畢
.局部變量 寬度1, 整數型
.局部變量 高度1, 整數型
.局部變量 n, 整數型
.局部變量 風格, 整數型
.局部變量 命令參數, 文本型, , "0"
取命令行 (命令參數)
.判斷開始 (取數組成員數 (命令參數) = 1)
  .判斷開始 (命令參數 [1] = “/S”)
    _啓動窗口.可視 = 假
    時鐘1.時鐘週期 = 100
  .默認
  .判斷結束
.默認
  _啓動窗口.可視 = 真
.判斷結束
置托盤圖標 (_啓動窗口.圖標, “個性美化桌面”)
透明度 = 到數值 (讀配置項 (取運行目錄 () + “\zunm.ini”, “桌面”, “透明度”, “255”))
滑塊條1.位置 = 透明度
標籤2.標題 = 到文本 (透明度)
句柄 = 尋找頂級窗口 (“Shell_TrayWnd”, “”)
風格 = 取窗口風格 (句柄, -20)
風格 = 位或 (風格, 524288)
置窗口風格 (句柄, -20, 風格)
設置透明 (句柄, 0, 透明度, 2)
n = 取得窗口 (句柄, 5)
開始句柄 = 取得窗口 (n, 0)
開始標題 = 讀配置項 (取運行目錄 () + “\zunm.ini”, “桌面”, “開始標題”, “開始”)
編輯框_當前標題.內容 = 開始標題
.如果真 (取標題 (開始句柄) ≠ 開始標題)
  設置窗口標題 (開始句柄, 開始標題)
.如果真結束
.如果 (註冊項是否存在 (#本地機器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\個性美化桌面”))
  選擇框1.選中 = 真
.否則
  選擇框1.選中 = 假
.如果結束
.子程序 取標題, 文本型
.參數 窗口句柄, 整數型
.局部變量 名長, 整數型
.局部變量 名, 文本型
名長 = 取窗口標題長度 (窗口句柄)
.如果真 (名長 ≤ 0)
  返回 (“”)
.如果真結束
名 = 取空白文本 (名長)
取窗體標題 (窗口句柄, 名, 名長 + 1)
返回 (名)
.子程序 _按鈕_確定_被單擊
銷燬 ()
.子程序 _按鈕_應用_被單擊
開始標題 = 到文本 (編輯框_修改標題.內容)
寫配置項 (取運行目錄 () + “\zunm.ini”, “桌面”, “開始標題”, 開始標題)
設置窗口標題 (開始句柄, 開始標題)
.子程序 _滑塊條1_位置被改變
透明度 = 到數值 (滑塊條1.位置)
標籤2.標題 = 到文本 (透明度)
寫配置項 (取運行目錄 () + “\zunm.ini”, “桌面”, “透明度”, 到文本 (透明度))
設置透明 (句柄, 0, 透明度, 2)
.子程序 _選擇框1_被單擊
.如果 (選擇框1.選中)
  寫註冊項 (#本地機器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\個性美化桌面”, 取運行目錄 () + “\” + 取執行文件名 () + “ /S”)
.否則
  刪除註冊項 (#本地機器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\個性美化桌面”)
.如果結束
.子程序 _時鐘1_週期事件
.如果真 (取標題 (開始句柄) ≠ 開始標題)
  編輯框_當前標題.內容 = 開始標題
  設置窗口標題 (開始句柄, 開始標題)
.如果真結束
.子程序 __啓動窗口_托盤事件
.參數 操作類型, 整數型
.判斷開始 (操作類型 = #單擊右鍵)
  彈出托盤菜單 (菜單)
.判斷 (操作類型 = #單擊左鍵)
  .如果 (_啓動窗口.位置 ≠ 0)
    _啓動窗口.位置 = 0 ' 通常
    鳴叫 ()
  .否則
    _啓動窗口.位置 = 2 ' 最小化
  .如果結束
.默認
.判斷結束
.子程序 _顯示窗口_被選擇
_啓動窗口.可視 = 真
.子程序 _隱藏窗口_被選擇
_啓動窗口.可視 = 假
.子程序 _退出_被選擇
銷燬 ()
.子程序 __啓動窗口_位置被改變
.如果真 (_啓動窗口.位置 = 2)
  _啓動窗口.可視 = 假
.如果真結束

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章